Systems and methods for suggesting meta-information to a camera user

ABSTRACT

According to one embodiment of the invention, a camera captures an image. The image is transmitted to a server for image recognition processing. The camera receives information from the server, including an indication of information to suggest to a user for meta-tagging the image. The suggested information may be based, for example, on a comparison of the image with meta-information stored by the server and/or a database of stored images. The camera asks the user if the user would like to meta-tag the image with the information. Optionally, the camera receives an indication from the user that the user would like to meta-tag the image with the suggested information, and the camera meta-tags the image with the information.

[0001] The present Application claims the benefit of U.S. ProvisionalApplication Serial No. 60/434,475 filed Dec. 18, 2002, in the name ofWalker et al. The entirety of this provisional application isincorporated by reference herein for all purposes.

BRIEF DESCRIPTION OF THE FIGURES

[0002]FIG. 1 shows a block diagram of a system that is consistent withat least one embodiment of the present invention.

[0003]FIG. 2 shows a block diagram of a system that is consistent withat least one embodiment of the present invention.

[0004]FIG. 3 shows a block diagram of a camera in communication with acomputing device that is consistent with at least one embodiment of thepresent invention.

[0005]FIG. 4 shows a block diagram of a computing device that isconsistent with at least one embodiment of the present invention.

[0006]FIG. 5 shows a block diagram of a camera that is consistent withat least one embodiment of the present invention.

[0007]FIG. 6 shows a block diagram of a camera that is consistent withat least one embodiment of the present invention.

[0008]FIG. 7 is a table illustrating an exemplary data structure of asettings database consistent with at least one embodiment of the presentinvention.

[0009]FIG. 8 is a table illustrating an exemplary data structure of animage database consistent with at least one embodiment of the presentinvention.

[0010]FIG. 9 is a table illustrating an exemplary data structure of aquestion database consistent with at least one embodiment of the presentinvention.

[0011]FIG. 10 is a table illustrating an exemplary data structure of adetermination condition database consistent with at least one embodimentof the present invention.

[0012]FIG. 11 is a table illustrating an exemplary data structure of anoutput condition database consistent with at least one embodiment of thepresent invention.

[0013]FIGS. 12A and 12B are a table illustrating an exemplary datastructure of a response database consistent with at least one embodimentof the present invention.

[0014]FIG. 13A is a table illustrating an exemplary data structure of anevent log corresponding to capturing images at a wedding, in accordancewith at least one embodiment of the present invention.

[0015]FIG. 13B is a table illustrating an exemplary data structure of anevent log corresponding to capturing images on a sunny beach, inaccordance with at least one embodiment of the present invention.

[0016]FIG. 14 is a table illustrating an exemplary data structure of anexpiring information database consistent with at least one embodiment ofthe present invention.

[0017]FIG. 15 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention.

[0018]FIG. 16 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention for performing an actionbased on a response.

[0019]FIG. 17 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention for performing an actionbased on a response.

[0020]FIG. 18 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention for suggestingmeta-information.

[0021]FIG. 19 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention.

[0022]FIG. 20 is a flowchart illustrating a process consistent with atleast one embodiment of the present invention.

DETAILED DESCRIPTION

[0023] Applicants have recognized that, in accordance with someembodiments of the present invention, some types of users of cameras andother imaging devices may find it appealing to have a camera that isable to determine a variety of different types of information that maybe useful in performing a variety of functions and/or assisting a userin the performance of various actions. Also, some types of users mayfind it appealing to use a camera having enhanced features to facilitateinformation gathering (e.g., via interaction with a user, by detectionof environmental conditions, by communication with other devices). Inaccordance with some embodiments, such information may be used, forexample, in managing images (e.g., suggesting a meta-tag for an image)and in improving the quality of images (e.g., by adjusting a camerasetting).

[0024] Applicants have also recognized that some types of users ofcameras and other imaging devices may find it appealing to be able toreceive a variety of different types of questions (e.g., open-endedquestions) and/or suggestions (e.g., suggested meta-data to associatewith an image) from a camera, as provided for in accordance with atleast one embodiment of the present invention. Some types of users mayalso find it appealing to be able to provide-responses to questionsoutput by a camera.

[0025] Some users of cameras (e.g., casual users) seldom adjust theircameras to capture images in the best possible way. Also, even automaticcameras, for example, may still make mistakes in estimating what imagesa user wants to capture and what settings are best for capturing images.Further, even if a user knows how to adjust his camera correctly, he mayoccasionally forget to adjust his camera when he is capturing images.Accordingly, Applicants have recognized that some types of users mayfind it appealing to use a camera having an interface that is convenientand not time consuming for a user to adjust his camera and that mayoptionally suggest (or automatically make) settings adjustments, asprovided for in some embodiments of the present invention.

[0026] At least one embodiment of the invention includes a camera thatmay output questions to a user. The user may respond to these questions(e.g., providing information about a scene that he is interested inphotographing) and one or more settings on the camera may be adjustedbased on the user's response.

[0027] For example, a camera may ask a user: “Are you at the beach?” Ifthe user responds “Yes” to this question, then the camera may adjust oneor more of its settings (e.g., aperture, shutter speed, white balance,automatic neutral density) based on the user's response. In a secondexample, the camera may ask a user a plurality of questions, startingwith “Are you indoors?” If the user responds that he is indoors, thenthe camera may ask the user a second question: “What type of lights doesthis room have?” In addition to outputting the question, the camera mayoutput a list of potential answers to the question (e.g., “Fluorescent,”“Tungsten,” “Halogen,” “Skylight,” and “I don't know”). The user mayrespond to the question by selecting one of the potential answers fromthe list. For example, if the user responds “Fluorescent” to thisquestion, then the camera may adjust its settings to “Fluorescent Light”mode, in which the camera's white balance, aperture, shutter speed,image sensor sensitivity and other settings are adjusted for takingpictures in a room that is lit with fluorescent light bulbs.

[0028] Various embodiments of the present invention are described hereinwith reference to the accompanying drawings. The leftmost digit(s) of areference numeral typically identifies the figure in which the referencenumeral first appears.

[0029] Embodiments of the present invention will first be introduced bymeans of block diagrams of exemplary systems and devices that may beutilized by an entity practicing the present invention. Exemplary datastructures illustrating tables that may be used when practicing variousembodiments of the present invention will then be described, along withcorresponding flowcharts that illustrate exemplary processes withreference to the exemplary devices, systems, and tables.

[0030] 1. Systems and Devices

[0031] Referring now to FIG. 1, a block diagram of a system 100according to at least one embodiment of the present invention includesone or more servers 110 (e.g., a personal computer, a Web server) incommunication, via a communications network 120, with one or morecameras 130 (e.g., digital camera, video camera, wireless phone withintegrated digital camera). Each of the servers 110 and cameras 130 maycomprise one or more computing devices, such as those based on the IntelPentium® processor, that are adapted to communicate with any number andtype of devices (e.g., other cameras and/or servers) via thecommunications network 120. Although only two cameras 130 and twoservers 110 are depicted in FIG. 1, it will be understood that anynumber and type of cameras 130 may communicate with any number ofservers 110 and/or other cameras 130 (and vice versa).

[0032] According to one or more embodiments of the present invention, acamera 130 may communicate with a server 110 in order to determine aquestion to output to a user. For example, the camera 130 may transmitvarious information (e.g., images, GPS coordinates) to a computer server110. The server 110 may then determine a question based on thisinformation. The server 110 may then transmit the question to the camera130 and the camera 130 may output the question to a user.

[0033] Communication among the cameras 130 and the servers 110 may bedirect or may be indirect, and may occur via a wired or wireless medium.Some, but not all, possible communication networks that may comprisenetwork 120 (or may otherwise be part of system 100 and/or otherexemplary systems described herein) include: a local area network (LAN),a wide area network (WAN), the Internet, a telephone line, a cable line,a radio channel, an optical communications line, and a satellitecommunications link. In yet other embodiments, the devices of the system100 may communicate with one another over RF, cable TV, satellite linksand the like. Some possible communications protocols that may be part ofsystem 100 include, without limitation: Ethernet (or IEEE 802.3), SAP,ATP, Bluetooth™, IEEE 802.11, CDMA, TDMA, ultra-wideband, universalserial bus (USB), and TCP/IP. Optionally, communication may be encryptedto ensure privacy and to prevent fraud in any of a variety of ways wellknown in the art. Of course, in lieu of or in addition to the exemplarycommunications means described herein, any appropriate communicationsmeans or combination of communications means may be employed in thesystem 100 and in other exemplary systems described herein.

[0034] For example, communication may take place over the Internetthrough a Web site maintained by a server 110 on a remote server, orover an on-line data network including commercial on-line serviceproviders, bulletin board systems and the like. In another example,using the wireless capabilities of his mobile phone, a user may uploadan image captured using the integrated digital camera to his personalcomputer, or to a personal database of images on a Web server maintainedby his telecommunications company. In another example, while a user isstill away from home on vacation, the user's personal computer mayreceive, via a cable modem, a series of vacation snapshots taken by theuser, and may also transmit information about those snapshots and/orquestions related to those snapshots back to the user's digital camera.

[0035] According to one or more embodiments of the present invention, aserver 110 may comprise an external or internal module associated withone or more of the cameras 130 that is capable of communicating with oneor more of the cameras 130 and of directing the one or more cameras 130to perform one or more functions. For example, a server 110 may beconfigured to execute a program for controlling one or more functions ofa camera 130 remotely. Similarly, a camera 130 may comprise a moduleassociated with one or more servers 110 that is capable of directing oneor more servers 110 to perform one or more functions. For example, acamera 130 may be configured to direct a server 110 to execute a facialrecognition program on a captured image and to return an indication ofthe best matches to the camera 130 via the communication network 120.

[0036] A camera 130 may be operable to access one or more databases(e.g., of server 110) to provide suggestions and/or questions to a userof the camera 130 based on, for example, an image captured by the camera130 or on information gathered by the camera 130 (e.g., informationabout lighting conditions). A camera 130 may also be operable to accessa database (e.g., an image database) via the network 120 to determinewhat meta-information (e.g., information descriptive of an image) toassociate with one or more images. For example, as discussed furtherherein, a database of images and/or image templates may be stored for auser on a server 110. Various functions of a camera 130 and/or theserver 110 may be performed based on images stored in a personalizeddatabase. For instance, an image recognition program running on theserver 110 (or on the camera 130) may use the user's personalizeddatabase of images for reference in identifying people, objects, and/orscenes in an image captured by the user. If, in accordance with apreferred embodiment, the user has identified the content of some of theimages in the database himself (e.g., by associating a meta-tag with animage), a match determined by the image recognition software withreference to the customized database is likely to be acceptable to theuser (e.g., the user is likely to agree to a suggestion to associate ameta-tag from a stored reference image with the new image also).

[0037] Information exchanged by the exemplary devices depicted in FIG. 1may include, without limitation, images and indications of changes insettings or operation of a camera 130 (e.g., an indication that a useror the camera 130 has altered an exposure setting). Other exemplarytypes of information that may be determined by the camera 130 and/or theserver 110 and communicated to one or more other devices are describedherein. The server 110, for example, may monitor operations of a camera130 (and/or activity of a user) via the network 120. For instance, theserver 110 may identify a subject a user is recording images of and,optionally, use that information to direct the camera 130 to ask if theuser would like to e-mail or otherwise transmit a copy of the capturedimage to the subject.

[0038] With respect to the various exemplary systems, devices, andmethods discussed herein, those skilled in the art will understand thatdevices in communication with each other need not be continuallytransmitting to each other. On the contrary, such devices need onlytransmit to each other as necessary, and may actually refrain fromexchanging data most of the time. For example, a device in communicationwith another device via the Internet may not transmit data to the otherdevice for weeks at a time.

[0039] According to some embodiments, various processes may be performedby the camera 130 in conjunction with the server 110. For example, somesteps of a described process may be performed by the camera 130, whileother steps are performed by the server 110. As discussed herein, datauseful in providing some of the described functionality may be stored onone of or both of the camera 130 and server 110 (or other devices).

[0040] In some embodiments, as discussed herein, the servers 110 may notbe necessary and/or may not be preferred. For example, some embodimentsof the present invention may be practiced using a camera 130 alone, asdescribed herein. In such embodiments, one or more functions describedas being performed by the server 110 may be performed by the camera 130,and some or all of the data described as being stored on a server 110may be stored on the camera 130 or on another device in communicationwith the camera 130 (e.g., another camera, a personal digital assistant(PDA)).

[0041] Similarly, in some embodiments the cameras 130 may not benecessary and/or may not be preferred. Accordingly, one or morefunctions described herein as being performed by the camera 130 may beperformed by the server 110, and some or all of the described as beingstored on the camera 130 may be stored on the server 110 or on anotherdevice in communication with the server 110 (e.g., a PDA, a personalcomputer).

[0042] A server 110 may be embodied in a variety of different forms,including, without limitation, a mainframe computer (e.g., an SGIOrigin™ server), a personal computer (e.g., a Dell Dimension™ computer),and a portable computer (e.g., an Apple iBook™ laptop, a Palm m515™ PDA,a Kyocera 7135™ cell phone). Several examples of types of cameras,servers, and other devices are discussed herein, and other typesconsistent with various embodiments of the present invention will bereadily understood by those of skill in the art in light of the presentdisclosure.

[0043] Referring now to FIG. 2, a block diagram of a system 200according to at least one embodiment of the present invention includesan imaging device 210 in communication (e.g., via a communicationsnetwork or system bus) with a computing device 220. Various exemplarymeans by which devices may communicate are discussed above with respectto FIG. 1. Although only one imaging device 210 and one computing device220 are depicted in FIG. 2, it will be understood that any number andtype of imaging devices 210 may communicate with any number of computingdevices 220.

[0044] Various types of imaging devices 210 and computing devices 220are discussed herein. The imaging device 210 preferably comprises atleast one device or component for recording an image, such as, withoutlimitation, an image sensor, a camera, or a handheld device having anintegrated camera. It will be understood, therefore, that a lens and animage sensor, for example, may each be referred to individually as animaging device, or, alternatively, two or more such components may bereferred to collectively as an imaging device (e.g., as embodied in acamera or PDA). Further, it will be understood, as discussed furtherbelow with respect to FIG. 3, that a device embodying any suchcomponents (e.g., a camera) may itself be referred to as an imagingdevice.

[0045] The imaging device 210 may further comprise one or more types ofcomputing devices, such as those based on the Intel Pentium® processor,adapted to communicate with the computing device 220. For example, aswill be readily apparent to those skilled in the art, many types ofcameras include an imaging device (e.g., an image sensor for capturingimages) and a computing device (e.g., a processor for executing camerafunctions). For example, referring now to FIG. 3, a block diagram of asystem 300 according to at least one embodiment of the present inventionincludes a camera 310 in communication (e.g., via a communicationsnetwork) with a server 340. The camera 310 itself comprises an imagingdevice 320 (e.g., an image sensor and/or lens) and a computing device330 (e.g., a camera processor) that is in communication (e.g., via acommunication port of the computing device 330) with the server 340(e.g., a Web server). It will be understood that a device such as thecamera 310, comprising both an imaging device and a computing device,may itself be referred to, alternatively, as an imaging device or acomputing device.

[0046] Referring again to FIG. 2, a computer or computing device 220 maycomprise one or more processors adapted to communicate with the imagingdevice 210 (or one or more computing devices of the imaging device 210).As discussed herein, a computer or computing device 220 preferably alsocomprises a memory (e.g., storing a program executable by the processor)and may optionally comprise a communication port (e.g., forcommunication with an imaging device 210). Some examples of a computeror computing device 220 include, without limitation: a camera processor,a camera, a server, a PDA, a personal computer, a computer server,personal computer, portable hard drive, digital picture frame, or otherelectronic device. Thus, a computing device 220 may but need not includeany devices for capturing images. Some exemplary components of acomputing device are discussed in further detail below with respect toFIGS. 4-6.

[0047] In some exemplary embodiments of the present invention, asdiscussed herein, imaging device 210 comprises a camera (e.g., a camera130 of FIG. 1) and the computing device 220 comprises a server (e.g., aserver 110 of FIG. 1). In another example consistent with at least oneembodiment of the present invention, the system 200 depicts componentsof a camera or other device capable of recording images. For instance,the imaging device 210 may comprise an image sensor or lens incommunication via a camera system bus with a computing device 220 suchas a camera computer or integrated communication device (e.g., a mobilephone).

[0048] An imaging device 210 or camera 310 may communicate with one ormore other devices (e.g., computing device 220, server 340) inaccordance with one or more systems and methods of the invention.Examples of devices that an imaging device may communicate with include,without limitation:

[0049] (i) a personal digital assistant (PDA)

[0050] (ii) a cellular telephone

[0051] (iii) a digital wallet (e.g., the iPod™ by Apple, the MindStor™from Minds@Work, Nixvue's Digital Album™)

[0052] (iv) a portable stereo (e.g., an MP3 music player, a SonyDiscman™)

[0053] (v) a notebook computer

[0054] (vi) a tablet computer

[0055] (vii) a digital picture frame (e.g., Iomega's FotoShow™,NORDview's Portable Digital Photo Album™)

[0056] (viii) a GPS device (e.g., such as those manufactured by Garmin)

[0057] (ix) a personal computer

[0058] According to various embodiments of the present invention, animaging device 210 may transfer one or more images to a second device(e.g., computing device 220). Some examples are provided with referenceto FIGS. 1-3. In one example, an imaging device 210 may include awireless communication port that allows the camera to transmit images toa second electronic device (e.g., a computer server, personal computer,portable hard drive, digital picture frame, or other electronic device).The second electronic device may then store copies of the images. Aftertransferring the images to this second electronic device, the imagingdevice 210 may optionally delete the images, since the images are nowstored securely on the second electronic device.

[0059] According to another exemplary embodiment, the camera 310 mayinclude a cellular telephone or be connected to a cellular telephonewith wireless modem capabilities (e.g., a cellular telephone on a 2.5Gor 3G wireless network). Using the cellular telephone, the camera maytransmit one or more images to the computer server 340, which may storethe images.

[0060] In another example, an imaging device 210 may communicate with aportable hard drive such as an Apple iPod™. To free up memory on theimaging device 210, the imaging device 210 may transfer images to theportable hard drive.

[0061] In another example, the camera 130 may have a wireless Internetconnection (e.g., using the 802.11 wireless protocol) and use thisconnection to transmit images to a personal computer that is connectedto the Internet. Note that by transferring an image from a camera to asecond electronic device, the camera may effectively expand itsavailable memory. That is, some or all of the memory on the secondelectronic device may be available to the camera for storing images.

[0062] According to various embodiments of the present invention, acamera 310 or other imaging device 210 may communicate with anelectronic device to output a question to a user. For example, a cameramay transmit a question to a user's PDA. The question may then bedisplayed to the user by the PDA. Using a PDA or other device with arelatively large display may make it easier for a user to view aquestion (e.g., a question that includes a large amount of text or aquestion which is based on an image).

[0063] In another example, a digital camera may queue up a plurality ofquestions and output these questions to a user's personal computer whenthe user uploads photos from the camera to the personal computer. Thepersonal computer may run software that outputs the questions to theuser and enables the user to respond to the questions. Viewing questionson a personal computer may be more convenient than viewing questionsusing the digital camera. Of course, a user's response to a question maybe less useful to the camera (e.g., in adjusting settings on the camera)if this response is provided after the user has already finishedcapturing images.

[0064] According to some embodiments, a camera or other imaging devicemay communicate with an electronic device to receive an input to a user.For example, a user may use a PDA to indicate a response to a questionand then the PDA may transmit an indication of this response to thecamera using a Bluetooth communication link. For example, a user mayhighlight a portion of an image, select a response from a list ofresponses, or write a free form response using the stylus on his PDA.Providing an input to the camera using a PDA or other electronic devicemay be particularly convenient for a user because the PDA may includeone or more input devices that are not present on the camera (e.g., atouch screen, a GPS device).

[0065] In another example, a user may carry a GPS device that isseparate from the camera but that communicates with the camera using aUSB cable. In order to indicate his location, the user may transmit anindication of his latitude and longitude from the GPS device to thecamera. In yet another example, all user control of a camera may beimplemented through a user's cellular telephone. For example, the usermay use his cellular telephone to remotely operate the camera, pressingthe “1” and “2” keys to zoom in and zoom out, the “3” key to capture apicture, and the “4” and “5” keys to answer “Yes” and “no” to questionsoutput by the camera. One advantage of having a second device implementa large number of controls for the camera is that the camera can have avery small form factor, but still be operable by a large number ofcontrols because all of these controls are on the second device.

[0066] 1.1. Computing Device

[0067] Referring now to FIG. 4, illustrated therein is a block diagramof an embodiment 400 of computing device 220 (FIG. 2) or computingdevice 330 (FIG. 3). The computing device 400 may be implemented as asystem controller, a dedicated hardware circuit, an appropriatelyprogrammed general-purpose computer, or any other equivalent electronic,mechanical or electromechanical device. The computing device 400 maycomprise, for example, a server computer operable to communicate withone or more client devices, such as an imaging device 210. The computingdevice 400 may be operative to manage the system 100, the system 200,the system 300, and/or the camera 310 and to execute various methods ofthe present invention.

[0068] In operation, the computing device 400 may function under thecontrol of a user, remote operator, image storage service provider, orother entity that may also control use of an imaging device 210 and/orcomputing device 220. For example, the computing device 400 may be a Webserver maintained by an Internet services provider, or may be a computerembodied in a camera 310 or camera 130. In some embodiments, thecomputing device 400 and an imaging device 210 may be different devices.In some embodiments, the computing device 400 and the imaging device 210may be the same device. In some embodiments, the computing device 400may comprise more than one computer operating together.

[0069] The computing device 400 comprises a processor 405, such as oneor more Intel Pentium® processors. The processor 405 is in communicationwith a memory 410 and with a communication port 495 (e.g., forcommunicating with one or more other devices).

[0070] The memory 410 may comprise an appropriate combination ofmagnetic, optical and/or semiconductor memory, and may include, forexample, Random Access Memory (RAM), Read-Only Memory (ROM), a compactdisc and/or a hard disk. The processor 405 and the memory 410 may eachbe, for example: (i) located entirely within a single computer or otherdevice; or (ii) connected to each other by a remote communicationmedium, such as a serial port cable, telephone line or radio frequencytransceiver. In one embodiment, the computing device 400 may compriseone or more devices that are connected to a remote server computer formaintaining databases.

[0071] The memory 410 stores a program 415 for controlling the processor405. The processor 405 performs instructions of the program 415, andthereby operates in accordance with the present invention, andparticularly in accordance with the methods described in detail herein.The program 415 may be stored in a compressed, uncompiled and/orencrypted format. The program 415 furthermore includes program elementsthat may be necessary, such as an operating system, a databasemanagement system and “device drivers” for allowing the processor 405 tointerface with computer peripheral devices. Appropriate program elementsare known to those skilled in the art, and need not be described indetail herein.

[0072] The term “computer-readable medium” as used herein refers to anymedium that participates in providing instructions to processor 405 (orany other processor of a device described herein) for execution. Such amedium may take many forms, including but not limited to, non-volatilemedia, volatile media, and transmission media. Non-volatile mediainclude, for example, optical or magnetic disks, such as memory 410.Volatile media include dynamic random access memory (DRAM), whichtypically constitutes the main memory. Transmission media includecoaxial cables, copper wire and fiber optics, including the wires thatcomprise a system bus coupled to the processor 405. Transmission mediacan also take the form of acoustic or light waves, such as thosegenerated during radio frequency (RF) and infrared (IR) datacommunications. Common forms of computer-readable media include, forexample, a floppy disk, a flexible disk, hard disk, magnetic tape, anyother magnetic medium, a CD-ROM, DVD, any other optical medium, punchcards, paper tape, any other physical medium with patterns of holes, aRAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip orcartridge, a carrier wave as described hereinafter, or any other mediumfrom which a computer can read.

[0073] Various forms of computer-readable media may be involved incarrying one or more sequences of one or more instructions to processor405 (or any other processor of a device described herein) for execution.For example, the instructions may initially be borne on a magnetic diskof a remote computer. The remote computer can load the instructions intoits dynamic memory and send the instructions over a telephone line usinga modem. A modem local to a computing device 400 (or, e.g., a server340) can receive the data on the telephone line and use an infraredtransmitter to convert the data to an infrared signal. An infrareddetector can receive the data carried in the infrared signal and placethe data on a system bus for processor 405. The system bus carries thedata to main memory, from which processor 405 retrieves and executes theinstructions. The instructions received by main memory may optionally bestored in memory 510 either before or after execution by processor 405.In addition, instructions may be received via communication port 495 aselectrical, electromagnetic or optical signals, which are exemplaryforms of carrier waves that carry data streams representing varioustypes of information. Thus, the computing device 400 may obtaininstructions in the form of a carrier wave.

[0074] According to an embodiment of the present invention, theinstructions of the program 415 may be read into a main memory fromanother computer-readable medium, such from a ROM to RAM. Execution ofsequences of the instructions in program 415 causes processor 405 toperform the process steps described herein. In alternate embodiments,hard-wired circuitry may be used in place of, or in combination with,software instructions for implementation of the processes of the presentinvention. Thus, embodiments of the present invention are not limited toany specific combination of hardware and software.

[0075] The memory 410 also preferably stores a plurality of databases,including a settings database 420, an image database 425, a questiondatabase 430, a determination condition database 435, an outputcondition database 440, a response database 445, an event log 450, andan expiring information database 455. Examples of each of thesedatabases is described in detail below and example structures aredepicted with sample entries in the accompanying figures.

[0076] As will be understood by those skilled in the art, the schematicillustrations and accompanying descriptions of the sample databasespresented herein are exemplary arrangements for stored representationsof information. Any number of other arrangements may be employed besidesthose suggested by the tables shown. For example, even though eightseparate databases are illustrated, the invention could be practicedeffectively using any number of functionally equivalent databases.Similarly, the illustrated entries of the databases represent exemplaryinformation only; those skilled in the art will understand that thenumber and content of the entries can be different from thoseillustrated herein. Further, despite the depiction of the databases astables, an object-based model could be used to store and manipulate thedata types of the present invention and, likewise, object methods orbehaviors can be used to implement the processes of the presentinvention.

[0077] Note that, although these databases are described with respect toFIG. 4 as being stored in one computing device, in other embodiments ofthe present invention some or all of these databases may be partially orwholly stored in another device, such as one or more imaging devices210, one or more of the cameras 130, one or more of the servers 110 or340, another device, or any combination thereof. Further, some or all ofthe data described as being stored in the databases may be partially orwholly stored (in addition to or in lieu of being stored in the memory410 of the computing device 400) in a memory of one or more otherdevices.

[0078] 1.2. Camera

[0079] Referring now to FIG. 5, illustrated therein is a block diagramof an embodiment 530 of a camera (e.g., camera 130 of FIG. 1, camera 310of FIG. 3) in communication (e.g., via a communications network) with aserver 550. The camera 530 may be implemented as a system controller, adedicated hardware circuit, an appropriately configured computer, or anyother equivalent electronic, mechanical or electromechanical device. Thecamera 530 may comprise, for example, any of various types of cameraswell known in the art, including, without limitation, a still camera, adigital camera, an underwater camera, and a video camera. A stillcamera, for example, typically includes functionality to capture imagesthat may be displayed individually. A single lens reflex (SLR) camera isone example of a still camera. A video camera typically includesfunctionality to capture movies or video (i.e., one or more sequences ofimages typically displayed in succession). A still image, movie file orvideo file may or may not include or be associated with recorded audio.It will be understood by those skilled in the art that some types ofcameras, such as the Powershot A40™ by Canon U.S.A., Inc., may includefunctionality to capture movies and functionality to capture stillimages.

[0080] The camera 530 may comprise any or all of the cameras 130 ofsystem 100 (FIG. 1) or the imaging device 210 (FIG. 2). In someembodiments, a user device such as a PDA or cell phone may be used inplace of, or in addition to, some or all of the camera 530 componentsdepicted in FIG. 5. Further, a camera may comprise a computing device orother device operable to communicate with another computing device(e.g., a server 110).

[0081] The camera 530 comprises a processor 505, such as one or moreIntel Pentium™ processors. The processor 505 is in communication with amemory 510 and a communication port 520 (e.g., for communicating withone or more other devices). The memory 510 may comprise an appropriatecombination of magnetic, optical and/or semiconductor memory, and mayinclude, for example, Random Access Memory (RAM), Read-Only Memory(ROM), a programmable read only memory (PROM), a compact disc and/or ahard disk. The memory 510 may comprise or include any type ofcomputer-readable medium. The processor 505 and the memory 510 may eachbe, for example: (i) located entirely within a single computer or otherdevice; or (ii) connected to each other by a remote communicationmedium, such as a serial port cable, telephone line or radio frequencytransceiver. In one embodiment, the camera 530 may comprise one or moredevices that are connected to a remote server computer for maintainingdatabases.

[0082] According to some embodiments, memory 510 of camera 530 maycomprise an image buffer (e.g., a high-speed buffer for transferringimages from an image sensor) and/or a flash memory (e.g., ahigh-capacity, removable flash memory card for storing images). A widevariety of different types of memory are possible and are known to thoseskilled in the art. For example, memory may be volatile or non-volatile;may be electronic, capacitive, inductive, or magnetic in nature; and maybe accessed sequentially or randomly.

[0083] Memory may or may not be removable from a camera. Many types ofcameras may use one or more forms of removable memory, such as chips,cards, and/or discs, to store and/or to transfer images and other data.Some examples of removable media include CompactFlash™ cards,SmartMedia™ cards, Sony Memory Sticks™, MultiMediaCards™ (MMC) memorycards, Secure Digital™ (SD) memory cards, IBM Microdrives™, CD-R andCD-RW recordable compact discs, and DataPlay™ optical media.

[0084] The memory 510 stores a program 515 for controlling the processor505. The program 515 may comprise instructions (e.g., Digita® imagingsoftware, image recognition software) for capturing images and/or forone or more other functions. The processor 505 performs instructions ofthe program 515, and thereby operates in accordance with the presentinvention, and particularly in accordance with the methods described indetail herein. The program 515 may be stored in a compressed, uncompiledand/or encrypted format. The program 515 furthermore includes programelements that may be necessary, such as an operating system, a databasemanagement system and “device drivers” for allowing the processor 505 tointerface with computer peripheral devices. Appropriate program elementsare known to those skilled in the art, and need not be described indetail herein.

[0085] According to one embodiment of the present invention, theinstructions of the program 515 may be read into a main memory fromanother computer-readable medium, such from a ROM to RAM. Execution ofsequences of the instructions in program 515 causes processor 505 toperform the process steps described herein. In alternate embodiments,hard-wired circuitry may be used in place of, or in combination with,software instructions for implementation of the processes of the presentinvention. Thus, embodiments of the present invention are not limited toany specific combination of hardware and software. As discussed withrespect to system 100 of FIG. 1, execution of sequences of theinstructions in a program of a server 110 in communication with camera530 may also cause processor 505 to perform some of the process stepsdescribed herein.

[0086] The memory 510 optionally also stores one or more databases, suchas the exemplary databases described in FIG. 4. An example of a cameramemory 510 storing various databases is discussed herein with respect toFIG. 6.

[0087] The processor 505 is preferably also be in communication with oneor more imaging devices 535 (e.g., a lens, an image sensor) embodied inthe camera 530. Various types of imaging devices are discussed hereinand in particular with respect to FIG. 6.

[0088] The processor 505 is preferably also in communication with one ormore input devices 525 (e.g., a button, a touch screen) and outputdevices 540. Various types of input devices and output devices aredescribed herein and in particular with respect to FIG. 6.

[0089] Such one or more output devices 540 may comprise, for example, anaudio speaker (e.g., for outputting a question to a user), an infra-redtransmitter (e.g., for transmitting a suggested meta-tag to a user'sPDA), a display device (e.g., a liquid crystal display (LCD)), a radiotransmitter, and a printer (e.g., for printing an image).

[0090] An input device 525 is capable of receiving an input (e.g., froma user or another device) and may be a component of camera 530. An inputdevice may communicate with or be part of another device (e.g. a server,a PDA). For cameras, common input devices include a button or dial. Someother examples of input devices include: a keypad, a button, a handle, akeypad, a touch screen, a microphone, an infrared sensor, a voicerecognition module, a motion detector, a network card, a universalserial bus (USB) port, a GPS receiver, a radio frequency identification(RFID) receiver, an RF receiver, a thermometer, a pressure sensor, andan infra-red port (e.g., for receiving communications from with a secondcamera or another device such as a smart card or PDA of a user).

[0091] Referring now to FIG. 6, illustrated therein is a more detailedblock diagram of a embodiment 600 of a camera (e.g., camera 130 of FIG.1, camera 530 of FIG. 5). The camera 630 comprises a processor 605, suchas one or more Intel Pentium™ processors. The processor 605 is incommunication with a memory 610 and a communication port 695 (e.g., forcommunicating with one or more other devices). The memory 610 maycomprise or include any type of computer-readable medium, and stores aprogram 615 for controlling the processor 605. The processor 605performs instructions of the program 615, and thereby operates inaccordance with various processes of the present invention, andparticularly in accordance with the methods described in detail herein.

[0092] The memory 610 stores a plurality of databases, including asettings database 620, an image database 625, a question database 630, adetermination condition database 635, an output condition database 640,a response database 645, an event log 650, and an expiring informationdatabase 655. Examples of each of these databases is described in detailbelow and example structures are depicted with sample entries in theaccompanying figures.

[0093] The processor 605 is preferably also in communication with a lens660 (e.g., made of glass), an image sensor 665, one or more controls 670(e.g., an exposure control), one or more sensors 675, one or more outputdevices 680 (e.g., a liquid crystal display (LCD)), and a power supply685 (e.g., a battery, a fuel cell, a solar cell). Various examples ofthese types of components are described herein.

[0094] A processor of a camera 600 may be capable of executinginstructions (e.g., stored in memory 610) such as software (e.g., forwireless and/or digital imaging, such as Digita® software fromFlashpoint Technology, Inc.).

[0095] As indicated in FIG. 6, a camera may include one or more inputdevices capable of receiving data, signals, and indications from varioussources. Lenses, sensors, communication ports and controls are wellknown types of input devices.

[0096] Various types of lenses that may be used with cameras are wellknown, including telephoto, wide-angle, macro, and zoom lenses.

[0097] As will be understood by those of skill in the art, an imagesensor may be an area that is responsive to light and may be used tocapture an image. An image sensor may or may not be an electronicdevice. Some examples of image sensors include, without limitation: aCCD (Charge Coupled Device) and a CMOS (Complementary Metal OxideSemiconductor) image sensor, such as the X3® PRO 10M™ CMOS image sensorby Foveon. An image sensor may comprise software or other means forimage identification/recognition. “Image sensor” may be most often usedto refer to an electronic image sensor, but those skilled in the artwill recognize that various other technologies (e.g., a light sensitivefilm like that used in analog cameras) may also function as imagesensors.

[0098] A camera may include one or more output devices. Examples ofoutput devices include, without limitation: a display (e.g., a color orblack-and-white liquid crystal display (LCD) screen), an audio speaker(e.g., for outputting questions), a printer (e.g., for printing images),a light emitting diode (LED) (e.g., for indicating that a self-timer isfunctioning, for indicating that a question for the user is pending),and a touch screen. A display may be useful, for example, for displayingimages and/or for displaying camera settings.

[0099] The camera may also include one or more communication ports foruse in communicating with one or more other devices. For example, a USB(universal serial bus) or Firewire® (IEEE-1394 standard) connection portmay be used to exchange images and other types of data with a personalcomputer or digital wallet (e.g., an Apple iPod™). The camera may be incommunication with a cellular telephone, personal digital assistant(PDA) or other wireless communications device. Images and other data maybe transmitted to and from the camera using this wireless communicationsdevice. For example, the SH251I™ cellular telephone by Sharp Corporationincludes a 3.1 megapixel CCD camera, and allows users to receive imagefiles via e-mail. In yet another example, a camera may include a radioantenna for communicating with a radio beacon. For instance, a subjectof a photo may carry a radio beacon that may communicate with the cameraand provide information that is useful in determining settings for thecamera (e.g., information about the light incident on the subject).

[0100] As will be understood by those skilled in the art, a camera mayinclude one or more controls or other input devices. Examples ofcontrols include, without limitation: a button (e.g., a shutter button),a switch (e.g., an on/off switch), a dial (e.g., a mode selection dial),a keypad, a touch screen, a microphone, a bar code reader (e.g., such asthe one on the 1991 version of the Canon EOS Elan™), a remote control(e.g., such as the one on the Canon Powershot G2™), a sensor, atrackball, a joystick, a slider bar, and a continuity sensor.

[0101] Controls on a camera or other type of imaging device may be usedto perform a variety of functions. In accordance with variousembodiments of the present invention, a control may be used, withoutlimitation, to adjust a setting or other parameter, provide a responseto a question, or operate the camera. For example, a user may press theshutter button on the camera to capture an image. Controls may be usedto adjust one or more settings on the camera. For example, a user mayuse “up” and “down” buttons on a camera to adjust the white balance onthe camera. In another example, a user may use a mode dial on the camerato select a plurality of settings simultaneously. For example, a usermay use a control to indicate to the camera that he would like aquestion to be output as an audio recording, or to any adjust any ofvarious other types of parameters of how the camera is to operate and/orinteract with the user. As discussed herein controls may be used toprovide an indication to the camera. For example, a user may use acontrol to indicate that he would like to have a question output to him.In still another example, a user may use a control to provide a responseto a question or to provide other information, such as indicating thatthe user is in a room with fluorescent lights, at a beach, or capturingimages of a football game.

[0102] Various types of sensors that may be included in a camerainclude, without limitation: a light sensor, an image sensor, a rangesensor (e.g., for determining the distance to a subject), a microphone(e.g., for recording audio that corresponds to a scene), a globalpositioning system (GPS) device (e.g., for determining a camera'slocation), a camera orientation sensor (e.g., an electronic compass, atilt sensor, an altitude sensor, a humidity sensor, a clock (e.g.,indicating the time of day, day of the week, month, year), and atemperature/infrared sensor.

[0103] According to some embodiments, a microphone may be useful forallowing a user to control the camera using voice commands. Voicerecognition software (e.g., ViaVoice™ from IBM Voice Systems) is knownto those skilled in the art and need not be described further herein.

[0104] 1.3. Databases

[0105] As will be understood by those skilled in the art, a setting fora camera may be a parameter that affects how the camera operates (e.g.,how the camera captures at least one image). Examples of types ofsettings on a camera include, without limitation: exposure settings,lens settings, digitization settings, flash settings, multi-framesettings, power settings, output settings, function settings, and modesettings. Some more detailed examples of these types of settings arediscussed further below.

[0106] Exposure settings may affect the exposure of a captured image.Examples of exposure settings include, without limitation: shutterspeed, aperture, image sensor sensitivity (e.g., measured as ISO orASA), white balance, color hue, and color saturation. Lens settings mayaffect properties of a lens on the camera. Examples of lens settingsinclude, without limitation: focus (e.g., near or far), optical zoom(e.g., telephoto, wide angle), optical filters (e.g., ultraviolet,prism), an indication of which lens to use (e.g., for a camera that hasmultiple lenses) or which portion of a lens, field of view, and imagestabilization (e.g., active or passive image stabilization).

[0107] Digitization settings may affect how the camera creates a digitalrepresentation of an image. Examples of digitization settings include,without limitation: resolution (e.g., 1600×1200 or 640×480), compression(e.g., for an image that is stored in JPG format), colordepth/quantization, digital zoom, and cropping. For instance, a croppingsetting may indicate how the camera should crop an acquired digitalimage when storing it to memory.

[0108] Flash settings may affect how the flash on the camera operates.Examples of flash settings include, without limitation: flashbrightness, red-eye reduction, and flash direction (e.g., for a bounceflash). Multi-frame settings may affect how the camera captures aplurality of related images. Examples of multi-frame settings include,without limitation: a burst mode (e.g., taking a plurality of picturesin response to one press of the shutter button), auto-bracketing (e.g.,taking a plurality of pictures with different exposure settings), amovie mode (e.g., capturing a movie), and image combination (e.g., usingCanon's PhotoStitch™ program to combine a plurality of images into asingle image).

[0109] Power settings may affect the supply of power to one or more ofthe camera's electronic components. Examples of power settings include,without limitation: on/off and “Power-Save” mode (e.g., varioussubsystems on a camera may be put into “Power-Save” mode to prolongbattery life).

[0110] Output settings may affect how the camera outputs information(e.g., to a user, to a server, to another device). Examples of outputsettings include, without limitation: language (e.g., what language isused to output prompts, questions, or other information to a user),viewfinder settings (e.g., whether a digital viewfinder on the camera isenabled, how a heads-up-display outputs information to a user), audiooutput settings (e.g., whether the camera beeps when it captures animage, whether questions may be output audibly), and display screensettings (e.g., how long the camera displays images on its displayscreen after capturing them).

[0111] In accordance with one or more embodiments of the presentinvention, a camera may be operable to capture images and to perform oneor more of a variety of other functions. A function setting may causeone or more functions to be performed (and/or prevent one or morefunctions from being performed). For example, if an auto-rotate settingon a camera is enabled, then the camera may automatically rotate acaptured image so that it is stored and displayed right side up, even ifthe camera was held at an angle when the image was captured. Otherexamples of functions that may be performed by a camera include, withoutlimitation: modifying an image (e.g., cropping, filtering, editing,adding meta-tags), cropping an image (e.g., horizontal cropping,vertical cropping, aspect ratio), rotating an image (e.g., 90 degreesclockwise), filtering an image with a digital filter (e.g., emboss,remove red-eye, sharpen, add shadow, increase contrast), adding ameta-tag to an image, displaying an image (e.g., on a LCD screen of thecamera), and transmitting an image to another device (e.g., a personalcomputer, a printer, a television).

[0112] One way to adjust a setting on the camera is to change thecamera's mode. For example, if the camera were to be set to “FluorescentLight” mode, then the settings of the camera would be adjusted to theexemplary values listed in this column (i.e., the aperture would be setto automatic, the shutter speed would be set to {fraction (1/125)} sec,the film speed would be set to 200 ASA, etc.).

[0113] In accordance with some embodiments of the present invention, amode refers to one or more parameters that may affect the operation ofthe camera. A setting may be one type of parameter. Indicating a mode tothe camera may be a convenient way of adjusting a plurality of settingson the camera (e.g., as opposed to adjusting each setting individually).There are many types of modes. Some types, for example, may affectsettings (e.g., how images are captured) and other modes may affectoutputting questions. Some exemplary modes are discussed herein, withoutlimitation, and other types of modes will be apparent to those skilledin the art in light of the present disclosure. A “Sports” mode, forexample, may describe settings appropriate for capturing images ofsporting events (e.g., fast shutter speeds). For instance, a user mayoperate a control (e.g., a dial) to indicate that the camera should bein “Sports” mode, in which the shutter speed on the camera is fasterthan {fraction (1/250)} sec and burst capturing of three images isenabled. An exemplary “Fluorescent Light” mode may establish settingsappropriate for capturing images under fluorescent lights (e.g., whitebalance). A “Sunny Beach” mode may describe settings appropriate forcapturing images on sunny beaches, and a “Sunset” mode may describesettings appropriate for capturing images of sunsets (e.g., neutraldensity filter). An exemplary “Portrait” mode may establish settingsappropriate for capturing close-up images of people (e.g., adjusting forskin tones).

[0114] Referring now to FIG. 7, an exemplary tabular representation 700illustrates one embodiment of settings database 420 (or settingsdatabase 620) that may be stored in an imaging device 210 and/orcomputing device 220. The tabular representation 700 of the settingsdatabase includes a number of example records or entries, each defininga setting that may be enabled or adjusted on an imaging device such ascamera 130 or camera 600. Those skilled in the art will understand thatthe settings database may include any number of entries.

[0115] The tabular representation 700 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) a setting 705,(ii) a current value 710 that indicates the present value or state ofthe corresponding setting, (iii) a value 715 that indicates anappropriate value for when the camera is in a “Fluorescent Light” mode,(iv) a value 720 that indicates an appropriate value for when the camerais in a “Sunny Beach” mode, and (v) a value 725 that indicates anappropriate value for when the camera is in a “Sunset” mode.

[0116] The settings database may be useful, for example, for determiningthe current value 710 of a given setting (e.g., “aperture”). Also, asdepicted in tabular representation 700, one or more values may beestablished for association with a given mode. For example, tabularrepresentation 700 indicates that if the mode of the camera is“Fluorescent Light,” the “aperture” setting will be changed to “auto.”

[0117] Referring now to FIG. 8, an exemplary tabular representation 800illustrates one embodiment of image database 425 (or image database 625)that may be stored, for example, in a server 110 and/or camera 130. Thetabular representation 800 of the image database includes a number ofexample records or entries, each defining a captured image. Thoseskilled in the art will understand that the image database may includeany number of entries.

[0118] The tabular representation 800 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) an imageidentifier 805 that uniquely identifies an image, (ii) an image format810 that indicates the file format of the image, (iii) an image size815, (iv) a file size 820, (v) a time 825 that indicates when the imagewas captured, and (vi) meta-data 830 that indicates any of various typesof supplemental information (e.g., keyword, category, subject,description, location, camera settings when the image was captured)associated with the image.

[0119] It will be understood by those skilled in the art that a varietyof different types of meta-data 830 are possible, including position(e.g., GPS), orientation, altitude, exposure settings (aperture/shutterspeed), illumination (daylight/tungsten/florescent/IR/flash), lenssetting (distance/zoom position/macro), scene data (bluesky/water/grass/faces), subject motion, image content (e.g., subjects),sound annotations, date and time, preferred cropping, and scale. Othertypes of meta-data are discussed herein.

[0120] With respect to the image identifier 805, a camera mayautomatically assign an identifier to an image, or a user may use acontrol (e.g., a keypad) on a camera to indicate an identifier for animage.

[0121] The image database may be useful for various types of processesdescribed herein.

[0122] In accordance with various embodiments of the present invention,a camera and/or server may output various different types of questionsto a user.

[0123] A question may comprise a request for information from a user.For example, a camera may output a question to a user in order todetermine information useful in applying meta-information to an image orin capturing one or more images (e.g., information about lighting,information about subjects, information about a scene).

[0124] Examples of different types of questions include, withoutlimitation: questions about lighting, questions about people andsubjects of images, questions about focus and depth of field, questionsabout meta-tagging and sorting, questions about events and locations,questions about the environment, questions about scenes, questions aboutfuture plans, questions about priorities, and questions about images.

[0125] Some examples of questions about lighting include, withoutlimitation:

[0126] (i) “Are you indoors?”

[0127] (ii) “What kind of light bulb(s) does this room have?” (e.g.,with multiple choice answers “tungsten,” “fluorescent,” “halogen,” and“I don't know”)

[0128] (iii) “Are we in the shade?”

[0129] (iv) “It's very dark here. Is it nighttime?”

[0130] Some examples of questions about people and subjects of imagesinclude:

[0131] (i) “Who is in this picture?”

[0132] (ii) “What other pictures is <person> in?”

[0133] (iii) “It looks like you're taking a picture of Alice. Are youtaking a picture of Alice?”

[0134] (iv) “Is this the same person that was in picture #42<showpicture #42>?”

[0135] (v) “It looks like you're taking a picture of an animal. Are youtaking a picture of your pet?”

[0136] Examples of questions about focus and depth of field include:

[0137] (i) “What are you trying to focus on?”

[0138] (ii) “The background of this image looks complicated. Do you wantthe background to be in focus?”

[0139] (iii) “Do you want the background to be sharp or blurred?”

[0140] (iv) “Do you want <object> to be in focus?”

[0141] (v) “Do you want <object> to be sharp or blurred?”

[0142] (vi) “There's a small object in the foreground (left side) ofyour image. Do you want this object to be in focus?”

[0143] Examples of questions about meta-tagging and sorting:

[0144] (i) “Do you want to automatically store images of <subject> in aseparate directory?”

[0145] (ii) “Where should 1 store images of <subject>?”

[0146] (iii) “How would you characterize this image?”

[0147] Examples of questions about events and locations include, withoutlimitation:

[0148] (i) “I think I see candles. Are we at a birthday party?”

[0149] (ii) “Are you taking pictures of a sporting event?”

[0150] (iii) “It appears that you're taking lots of pictures of animals.Are you at the zoo?”

[0151] (iv) “I saw a bright flash and heard an explosion. Are you takingpictures of fireworks?”

[0152] Examples of questions about the environment include, withoutlimitation:

[0153] (i) “The current humidity level of the air is 90%. Is it rainingoutside?”

[0154] (ii) “This image seems cloudy. Am I underwater?”

[0155] (iii) “The sky has an orange tint. Is the sun setting?”

[0156] (iv) “Is it cloudy outside?”

[0157] (v) “Are we in the shade?”

[0158] (vi) “The camera is rocking back and forth. Are you on a boat?”

[0159] (vii) “We're traveling at 200 mph. Are you in an airplane?”

[0160] (viii) “Are you in a moving vehicle (e.g., a car)?

[0161] (ix) “Is the camera on a tripod?”

[0162] Some examples of questions about scenes include:

[0163] (i) “I think I see a rainbow. Are you trying to take a picture ofa rainbow?”

[0164] (ii) “I think I see running water. Are you trying to take apicture of a waterfall?”

[0165] (iii) “I think I see sand. Are you trying to take a picture of abeach?”

[0166] (iv) “I think I see a body of water. Are you trying to take apicture of an ocean, lake, or pond?”

[0167] (v) “Are you taking a picture through a window?”

[0168] (vi) “I think I see a reflection. Will this picture have a mirrorin it?

[0169] (vii) “Are you taking a picture of a sunset?”

[0170] (viii) “Are you taking a picture of stars in the sky?”

[0171] (ix) “What is the most important element in this scene?”

[0172] (x) “Are you taking a picture of a reflection?”

[0173] Examples of questions about future plans include:

[0174] (i) “There are 23 Mb of memory remaining. How many more picturesare you planning on taking today?”

[0175] (ii) “How many pictures are you planning on taking of thisscene?”

[0176] (iii) “You've already captured 23 pictures of Alice. How manypictures are you planning on taking of Alice?”

[0177] (iv) How much longer are you planning on using the camera? (e.g.,with multiple choice answers “less than 10 minutes,” “10-30 minutes,”“30-60 minutes,” and “more than 60 minutes”)

[0178] (v) “This memory card has only 10 Mb of space left. Do you haveany blank memory cards with you?”

[0179] (vi) “My batteries will run out in less than 30 minutes. Do youhave any more charged batteries with you?”

[0180] (vii) “Are you done taking pictures of this scene?”

[0181] (viii) “Do you need a good picture of every subject?”

[0182] (ix) “Who do you want to capture pictures of today?”

[0183] (x) “Who should receive a copy of this image? (e.g., Grandma,Uncle Joey, Kodak.com's Picture of the Day contest)”

[0184] (xi) “Are you planning on using this image in a slide show?”

[0185] (xii) “Are you planning on emailing this image to somebody?”

[0186] Some examples of questions about priorities include, withoutlimitation:

[0187] (i) “Are you more concerned about exposure or sharpness?”

[0188] (ii) “Are you more concerned about framing or resolution?”

[0189] (iii) “I think I see Alice and Bob. Who is the subject of thisphoto? (e.g., with multiple choice answers “Alice,” “Bob,” “both Aliceand Bob,” and “neither Alice nor Bob”)”

[0190] (iv) “Do you want to focus on Alice or the mountains?”

[0191] Some examples of questions about images include:

[0192] (i) “Who is the subject of this image?”

[0193] (ii) “How would you rate this image on a 1-10 scale?”

[0194] (iii) “How would you rate the exposure of this image on a 1-10scale?”

[0195] (iv) “Would you prefer the background of this image to be sharperor more blurred?”

[0196] (v) “Is this an image of Alice or Amy?”

[0197] (vi) “Does Alice's skin tone look correct in this image?”

[0198] (vii) “Which is your favorite picture from this group?”

[0199] (viii) “Rank these images from best to worst, starting with yourfavorite image.”

[0200] (ix) “Is this image overexposed?”

[0201] (x) “Should this image be categorized automatically?”

[0202] Different types of questions may illicit different types ofresponses from a user. For example, questions may be classifiedaccording to the types of responses they are designed to illicit. Someexamples of questions classified in this manner include:

[0203] (i) Yes/No questions (e.g., “Is this a picture of Alice?”)

[0204] (ii) open-ended questions (e.g., “Who is in this picture?”)

[0205] (iii) multiple-choice questions in which the user is presentedwith a plurality of options and prompted to choose at least one of theoptions (e.g., “Who is in this picture? a) Alice b) Bob c) both d)neither.”)

[0206] (iv) true/false questions (e.g., “True or False?: This is apicture of Alice.”)

[0207] (v) graphical response questions (e.g., “Point to Alice in thispicture.”)

[0208] (vi) ratings (e.g., a user may be asked to rate how much he likesan image)

[0209] Note that a question may be phrased in the first person. Sometypes of users may find this personification of the camera appealing.Various exemplary ways that a question may be output to a user arediscussed herein.

[0210] Referring now to FIG. 9, an exemplary tabular representation 900illustrates one embodiment of the question database 430 (FIG. 4) thatmay be stored in the computing device 400. The tabular representation900 of the question database includes a number of example records orentries, each defining a question that may be output by a server 110 orby a camera 130. Those skilled in the art will understand that thequestion database may include any number of entries.

[0211] The tabular representation 900 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) a questionidentifier 905 that uniquely identifies a particular question, (ii) aquestion to ask 910 that includes an indication (e.g., in text) of aquestion to output (e.g., to a user, to transmit to a camera 130), and(iii) a potential response 915 that indicates one or more potentialresponses to the corresponding question (e.g., multiple-choice answers,acceptable answers, answers to suggest).

[0212] The question to ask 910 and potential responses 915 maybe used,for example, in accordance with various embodiments described herein foroutputting a question to a camera user. According to some embodiments ofthe present invention, if the question is a multiple choice question,then a plurality of potential answers 915 may be presented to the user.The user may then answer the question by selecting one of the potentialanswers. In another example, question identifier 905 may be used (e.g.,in conjunction with a response database) in ensuring that a camera doesnot repeat the same question.

[0213] According to at least one embodiment, a condition may comprise aBoolean expression. This Boolean expression, for example, may referenceone or more variables (i.e., factors) and may include Boolean modifiersand conjunctions (e.g. AND, OR, XOR, NOT, NAND), comparators (e.g., >,<, =, >=, <=, !=), mathematical operations (e.g. +, −, *, /, mean,standard deviation, logarithm, derivative, integral), functions (e.g.,search_term_in_database( ), autocorrelation( ), dilates,fourier_transform( ), template_match( )), and constants (e.g., 10, 20pixels, 300 milliseconds, 4 lumens, 0.02, 15%, pi, TRUE, yellow,“raining,” 5200 K). Some examples of conditions comprising Booleanexpressions include, without limitation:

[0214] (i) picture_of football_player (image2394) AND (NOTDate=“Halloween”)

[0215] (ii) (identify_person_in_image (image736234)=“FAILED”)

[0216] (iii) (subject_of_image (image420378)=“dog”)

[0217] (iv) (average_rate_of capturing_images >2.1 per minute) OR(empty_memory <10 Mb)

[0218] (v) (number_of_images>10) AND(percentage_of_images_captured_using_flash >80%)

[0219] (vi) (average_audio_noise_level >=70 dB)

[0220] (vii) (average_rating (image45618, image86481, image18974)<5)

[0221] A condition may be based on one or more factors. Examples offactors include, without limitation: factors affecting the occurrence ofa condition, factors affecting whether a condition is true, factorscausing a condition to occur, factors causing a condition to becometrue, and factors affecting the output of a message.

[0222] Some general categories of factors include, without limitation:factors related to images, indications by a user, time-related factors,factors relating to a state of the camera, information from sensors,characteristics of a user, and information from a database.

[0223] Examples of factors relating to indications by a user include,without limitation: usage of controls (e.g., a shutter button, anaperture setting, an on/off setting), voice commands (e.g., recorded bya microphone), movement of the camera (e.g., observed using anorientation sensor), ratings provided (e.g., a user may rate the qualityof an image or how much he like an image), and responses to previousquestions. For example, the camera may use feedback to determine thenext question in a series of questions to ask a user.

[0224] Examples of time-related factors include, without limitation: theduration of a condition (e.g., for the last ten seconds, for a total offifteen minutes), the current time of day, week, month, or year (e.g.,12:23 pm Sep. 6, 2002), a duration of time after a condition occurs(e.g., two seconds after a previous image is captured), an estimatedamount of time until a condition occurs (e.g., ten minutes until thecamera's batteries run out, twenty minutes before the sun goes down).

[0225] Some examples of factors relating to the state of the camerainclude, without limitation: current and past settings (e.g., shutterspeed, aperture, mode), parameters that affect the operation of thecamera, current and past modes (e.g., “Sports” mode, “Manual” mode,“Macro” mode, “Twilight” mode, “Fluorescent Light” mode, “Silent” mode,“Portrait” mode, “Output Upon Request” mode, “Power-Save” mode), imagesstored in memory (e.g., total images stored, amount of memoryremaining), current mode (e.g., “Sports” mode), and battery chargelevel.

[0226] Examples of factors relating to information from sensors include,without limitation: location of the camera (e.g., determined with a GPSsensor), orientation of the camera (e.g., determined with an electroniccompass), ambient light (e.g., determined with a light sensor), soundsand audio (e.g., determined with a microphone), the range to a subject(e.g., as determined using a range sensor), a lack of movement of thecamera (e.g., indicating that the user is aiming the camera), signalsfrom other devices (e.g., a radio beacon carried by a subject, a secondcamera), and temperature (e.g., determined by a temperature/infraredsensor).

[0227] The camera may ask different questions to different types ofusers. Some examples of factors relating to characteristics of a userinclude, without limitation: preferences for capturing images (e.g.,likes high contrast pictures, likes softening filters, saves images atbest quality JPG compression), habits when operating camera (e.g.,forgets to take off the lens cap, turns camera on and off a lot),appearance (e.g., is the user of the camera in an image captured using aself-timer?), characteristics of users other than the current user ofthe camera (e.g., past users, family members), family and friends, andskill level. For example, a skilled user may tend to capture images thatare well-composed, correctly exposed, and not blurry. In contrast, aless-experienced user may tend to have trouble capturing high-qualityimages.

[0228] As discussed variously herein, various embodiments of the presentinvention provide for information to be stored in one or more databases.Some examples of factors relating to information stored in a databaseinclude, without limitation:

[0229] (i) templates or other information useful in recognizing orprocessing images

[0230] (ii) images stored in the camera's memory (e.g., an imagedatabase such as the one shown in FIG. 8)

[0231] (iii) indications by a user (e.g., previous answers to questions)

[0232] (iv) predicted weather conditions

[0233] (v) current weather conditions

[0234] (vi) topography, vegetation

[0235] (vii) locations of landmarks

[0236] (viii) light sources (e.g., all of the lights in this buildingare fluorescent)

[0237] (ix) anticipated events (e.g., Old Faithful at YellowstoneNational Park erupting)

[0238] (x) the current score of a baseball game

[0239] (xi) sunrise and sunset times

[0240] (xii) high and low tide times

[0241] The camera may store a determination condition database forstoring information related to such conditions, such as the one shown inFIG. 10. For each determination condition stored in the conditiondatabase, a corresponding question maybe output if the determinationcondition is true. For example, QUES-123478-02 (“What kind of lightbulbs does this room have?”) may be output to a user if the camera isindoors and the flash is turned off.

[0242] Referring now to FIG. 10, an exemplary tabular representation1000 illustrates one embodiment of the determination condition database435 (FIG. 4) that may be stored in the computing device 400. The tabularrepresentation 1000 of the determination condition database includes anumber of example records or entries, each defining a determinationcondition that may be useful in determining one or more questions to aska user of a camera. Those skilled in the art will understand that thedetermination condition database may include any number of entries.

[0243] The tabular representation 1000 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) adetermination condition 1005 that defines a particular determinationcondition, and (ii) a question to ask 1010 that includes an identifierof a question corresponding to the determination condition.

[0244] Question to ask 1010 preferably contains a unique reference to aquestion (e.g., as stored in a corresponding record of a questiondatabase). Of course, a determination condition database may include theactual text of a question and thus may not require a questionidentifier. For each condition, the determination condition databasepreferably stores a condition for asking at least one question and atleast one question to ask if the condition is true. As depicted intabular representation 1000, for example, “QUES-123478-02” may be outputto a user if the user is indoors and the camera's flash is turned off.According to another example, a question may be output to a user if acondition is true. For example, “QUES-123478-02” of FIG. 9 (“What kindof light bulbs does this room have?”) may be output to a user if thecamera is indoors and the flash is turned off. Note that the questionidentifier listed in the exemplary question to ask field 1010 maycorrespond to a question identifier in the question database shown inFIG. 9. For example, “QUES-123478-01” refers to the question “Are youindoors or outdoors?” in tabular representation 900.

[0245] Referring now to FIG. 11, an exemplary tabular representation1100 illustrates one embodiment of the output condition database 440(FIG. 4) that may be stored in the computing device 400. The tabularrepresentation 1100 of the output condition database includes a numberof example records or entries, each defining a output condition that maybe useful in determining when and/or how to output a question to a user.Those skilled in the art will understand that the output conditiondatabase may include any number of entries.

[0246] The tabular representation 1100 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) a camera mode1105, (ii) a question ready indication 1110, (iii) an output condition1115 that indicates a condition for outputting a question, (iv) a method1120 that indicates a preferred method for outputting a question, and(v) an enabled field 1130 that indicates whether the correspondingcamera mode (e.g., “Fully Automatic” mode) is presently enabled.

[0247] The output condition database stores information that may beuseful in determining when and/or how to output at least one question toa user, as discussed herein. For example, an audio recording of aquestion may be output when a user presses the camera's shutter buttonhalfway down.

[0248] As discussed herein, a mode of a camera may include a collectionof one or more parameters that affect when and/or how at least onequestion is output to a user. For example, the camera may have an“Output Upon Request” mode in which one or more questions may be outputto a user when the user presses an “Ask Me a Question” button on thecamera. Prior to outputting a question to a user, the camera may outputan indication that a question is ready to be output. The question readyindication 1110 thus describes what indication (if any) may be output toa user to indicate that the camera has a question for the user. Forexample, as depicted in tabular representation 1100 of FIG. 11, if thecamera is in “Sports” mode, then the camera may “beep” when itdetermines a question to be output to a user. The question itself maythen be output at a later time (e.g., when an output condition occurs).

[0249] As described variously herein, a question may be output to a userupon the occurrence of one or more output conditions. For example, whenthe camera is in “Manual” mode, the camera may output a question whenthe viewfinder is in use (i.e., the user is looking through theviewfinder). In a second example, the camera may output a question afterthirty seconds of inactivity if the camera is in “Silent” mode. Themethod of output field indicates how a question may be output. Asdescribed herein, a question may be output to a user in a variety ofdifferent ways. For example, a text representation of a question may bedisplayed on the camera's LCD screen, or an audio recording of aquestion may be output using an audio speaker.

[0250] The currently enabled field 1130 indicates whether the associatedmode (i.e., the mode indicated in the “camera mode” field) is currentlyenabled. If a mode is enabled, then a question or question readyindication may be output according to the output condition and/or methodof output corresponding to that mode. If a mode is disabled, then aquestion may be output in a different manner (or may not be output atall). It is anticipated that a user may enable and disable modes basedon his preferences. For example, if a user is capturing pictures of amusical, then the user may enable “Silent” mode on the camera, so as notto disturb audience members or actors.

[0251] Of course, while the exemplary data shown in FIG. 11 indicatesthat only one mode is enabled (“Manual”), it will be understood that anynumber of modes (including no modes at all) may be enabled.

[0252] The exemplary embodiment of the output condition database shownin FIG. 11 describes one example of a camera communicating with anelectronic device. For example, when the camera is in “PDA Assisted”mode, the camera may output a question by transmitting the question to auser's PDA. The user may then respond to this question using the PDA(e.g., by selecting a response using the PDA's stylus) and the PDA maytransmit the user's response back to the camera.

[0253] Referring now to FIG. 12A and FIG. 12B, an exemplary tabularrepresentation 1200 illustrates one embodiment of the response database445 (FIG. 4) that may be stored in the computing device 400. The tabularrepresentation 1200 of the response database includes a number ofexample records or entries, each defining a response that may be usefulin recording responses provided by a user (e.g., in response to aquestion). Those skilled in the art will understand that the responsedatabase may include any number of entries.

[0254] The tabular representation 1200 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) a question1205 that indicates a question that was output (e.g., to a user), (ii) atime 1210 that indicates when the question was output, (iii) a responseto the question 1215 that includes an indication of the response to thequestion (e.g., text, an audio file), and (iv) an action 1220 thatindicates what (if any) actions were taken based on the correspondingresponse.

[0255] For example, the first record in the response database shown inFIG. 12A indicates that a user responded “Indoors” to “QUES-123478-01.”An indication of what question was output to a user may comprise aquestion identifier, for example, which may correspond to a questionidentifier in the question database (e.g., as represented in FIG. 9).For example, “QUES-123478-01” refers to the question “Are you indoors oroutdoors?” in the question database shown in FIG. 4. As indicated in theexemplary table, a question may be output multiple times (e.g., indifferent situations). For example, “QUES-123478-01” was output to auser at 1:34 p.m. on Aug. 3, 2002 and also at 11:36 p.m. on Aug. 3,2002.

[0256] The response database may indicate that a user has not respondedto a question (e.g., for “QUES-123478-01” at 4:10 p.m. on Aug. 17,2002). In another example, a user may have provided a response that isnot an answer to the question (e.g., for “QUES-123478-08” at 7:21 p.m.on Aug. 11, 2002). Thus, in some instances, the camera may determine tooutput the question again. As discussed herein, camera may perform oneor more actions based on a user's response to a question. For example,the camera may meta-tag at least one image or adjust one or moresettings on the camera based on a user's response to a question.

[0257] Referring now to FIG. 13A and FIG. 13B, exemplary tabularrepresentations 1300 and 1350 illustrate two embodiments of an event logdatabase 450 (FIG. 4) that may be stored in the computing device 400. Anevent log may store a list of events that occurred at one or morecameras and/or servers, for example. FIGS. 13A and 13B show two examplesof event logs that may be stored by the camera and/or a server. FIG. 13Ashows an exemplary event log for events that occurred on Aug. 3, 2002,generally relating to a user capturing images at a wedding. FIG. 13Bshows an exemplary event log for events that occurred on Aug. 10, 2002,generally relating to a user capturing images at a beach. As depicted inthe figures, event logs preferably store an indication of a time when anevent occurred and a description of the event.

[0258] Each tabular representation of the event log includes a number ofexample records or entries, each defining an event. Those skilled in theart will understand that the response database may include any number ofentries.

[0259] The tabular representation 1300 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) a time ofevent 1305 that indicates a time that the corresponding event occurred,and (ii) a description of the event 1310 that includes (e.g., in text) adescription of what the event was. Tabular representation 1350 definessimilar fields time of event 1355 and description 1360.

[0260] For convenience of discussion, each of the exemplary eventslogged has been depicted as occurring at a different time. Of course,two or more events may be logged as occurring at the same time. Notethat the event times in the exemplary tables are examples only and donot necessarily represent delays that may be associated with processeson the camera. For example, while the event log in FIG. 13A shows thatthe camera received a user's response to question “QUES-123478-01” at1:35 pm on Aug. 3, 2002 and then output “QUES-123478-02” at 1:36 PM onAug. 3, 2002, this does not necessarily mean that there is a one minutedelay between receiving a user's response to question “QUES-123478-01”and outputting “QUES-123478-02.”

[0261] The event logs depicted in FIGS. 13A and 13B may not include oneor more events that occur at the camera. For example, the event logshown in FIG. 13A does not include an event of meta-tagging the image“WEDDING-01” as being captured indoors.

[0262]FIG. 14 shows an example of an expiring information database thatmay be stored by a camera, server, or other computing device. Thisdatabase preferably stores data about information that is useful to acamera as well as an indication of one more conditions under which thisinformation expires (e.g., and should no longer be used by the camera.)The expiring information database may also indicate one or more actionsto perform in response to information expiring.

[0263] Referring now to FIG. 14, an exemplary tabular representation1400 illustrates one embodiment of the expiring information database 455(FIG. 4) that may be stored in the computing device 400. The tabularrepresentation 1100 of the expiring information database includes anumber of example records or entries, each defining expiring informationthat may be useful in determining when information (e.g., as collectedby a camera and/or server) should expire. Those skilled in the art willunderstand that the expiring information database may include any numberof entries.

[0264] The tabular representation 1400 also defines fields for each ofthe entries or records. The exemplary fields specify: (i) theinformation 1405 whose expiration is being monitored, (ii) an expirationcondition 1410 that indicates when or under what circumstances the pieceof information should expire, and (iii) an action 1415 that indicates anaction (if any) to be performed (e.g., by a camera, by a server) inresponse to the information expiring.

[0265] For example, the first record in the tabular representation 1400of the expiring information database shown in FIG. 14 indicates that thecamera will disregard the information that the camera is outdoors andoutput the question, “Are we outdoors?” if the camera is turned off formore than sixty minutes.

[0266] The information field 1405 preferably includes the piece ofinformation (e.g., determined based on a user's response to a question).For example, the camera may store the information “Camera is Outdoors”based on a user responding “outdoors” to the question “Are you indoorsor outdoors?” QUES-123478-The expiration condition 1410 preferablyindicates one or more conditions under which the information willexpire. For example, the information that the weather outside is sunnymay be set to expire if the sun goes down or if the camera is takenindoors.

[0267] When an expiration condition 1410 occurs, the camera may performone or more actions. Exemplary actions include outputting a question,adjusting a setting, or ceasing to perform an action (e.g., an actionthat was performed based on the information being current). Forinstance, the camera may cancel “Sunny Beach Mode” (e.g., automaticallyor after prompting the user) in response to the expiration of theinformation that a user is on a beach.

[0268] 2. Processes

[0269] Methods consistent with one or more embodiments of the presentinvention may include one or more of the following steps, which aredescribed in further detail herein:

[0270] (i) capturing an image,

[0271] (ii) determining a question,

[0272] (iii) outputting a question,

[0273] (iv) receiving a response to a question,

[0274] (v) performing an action based on a response, and

[0275] (vi) expiring information.

[0276] Referring now to FIG. 15, a flowchart illustrates a process 1500that is consistent with one or more embodiments of the presentinvention. The process 1500 is a method for outputting a question to auser of a camera. The process 1500, and all other processes describedherein unless expressly specified otherwise, may be performed by animaging device (e.g., a camera), a computing device (e.g., a server) incommunication with an imaging device, and/or a combination thereof. Eachof these devices is described in detail herein. Further, the process1500, and all other processes described herein unless expresslyspecified otherwise, may include steps in addition to those expresslydepicted in the Figures or described in the specification, withoutdeparting from the spirit and scope of the present invention. Similarly,the steps of process 1500 and any other process described herein, unlessexpressly specified otherwise, may be performed in an order other thandepicted in the Figures or described in the specification, asappropriate.

[0277] Referring to step 1505, an image is captured. Various ways ofcapturing an image, including by use of a camera, are well known tothose skilled in the art and some examples are provided herein. In step1510, a question is determined based on the captured image (e.g., usinga determination condition database of a camera). In step 1515, thedetermined question is output to a user (e.g., via an output device of acamera). Various ways of determining and of outputting questions aredescribed in detail herein.

[0278] Referring now to FIG. 16, a flowchart illustrates a process 1600that is consistent with one or more embodiments of the presentinvention. The process 1600 is a method for performing an action basedon a response from a user. For illustrative purposes only, the process1600 is described as being performed by a camera 130. Of course, theprocess 1600 may be performed by any type of imaging device 210, or animaging device 210 in conjunction with a computing device 220.

[0279] Referring to step 1605, a camera 130 captures an image. Forexample, a user presses a shutter button to record an image of a scene.In another example, the camera 130 automatically captures an image of ascene (e.g., in order to make suggestions that the user adjust one ormore settings). In step 1610, the camera determines a question based onthe image. For example, the camera 130 may determine that the image isunderexposed and may determine that it is appropriate to ask the user ifthe user intended the image to be underexposed. In another example, thecamera 130 may transfer the image or information about the image to aserver 110 for determination of a question. Determining the question maythus include receiving an indication of a question from the server 110.

[0280] In step 1615, the camera 130 outputs the question to a user(e.g., via an LCD device). In step 1620, the camera 130 receives aresponse from the user. As discussed herein, the user may provide aresponse by any of a variety of means, including by making a selectionon a displayed menu of possible responses to the question. In step 1625,the camera 130 performs one or more actions based on the receivedresponse. For example, based on a response that the user intends theimage to be overexposed, the camera 130 may store an indication (e.g.,in a response database) that questions about exposure should not beoutput for images of this scene. Various steps of exemplary processes1500 and 1600 are described in detail below.

[0281] Images may be captured (e.g., using an imaging device 210) in avariety of ways. For example, an image may be captured based on anindication from a user. For instance, a user may operate a control on acamera (e.g., a shutter button) to capture an image. An image may becaptured based one or more settings. For example, an image that iscaptured by a camera may depend on the current aperture, shutter speed,zoom, focus, resolution, and compression settings. Similarly, an imagemay be captured based on a current mode of the camera (e.g., “Sunset”mode, “Sunny Beach” mode). For example, the camera may have a “Sunset”mode, which describes settings that appropriate for capturing images ofsunsets.

[0282] Alternatively, an image may be captured automatically (e.g.,without any indication from a user). For example, the camera may captureimages and store them in a buffer even if a user has not pressed theshutter button on the camera. In order to save memory space, images thatare captured automatically may be automatically deleted or overwritten.Capturing an image automatically may be particularly helpful in someembodiments for determining the subject(s) of an image the user wishesto record or how a user is composing a photograph. For example, before auser presses the shutter button on the camera, he may aim the camera ata scene (e.g., his girlfriend in front of the Golden Gate Bridge). Thecamera may capture an image of this scene and then output a question tothe user based on the image. In this manner, an image may be capturedand a question may be output to a user prior to the user actually takinga picture.

[0283] Capturing an image may include capturing an image based on acondition. This condition may be referred to herein as a capturecondition to differentiate it from other described conditions.

[0284] Those skilled in the art will readily understand that capturingan image may include storing the image in memory. As discussed herein,various different forms of memory may be used to store an image,including, without limitation: non-volatile memory (e.g., aCompactFlash™ card), volatile memory (e.g., dynamic random access memory(DRAM) for processing by an image recognition process), removable memory(e.g., a SmartMedia™ or CompactFlash™ card), and non-removable memory(e.g., an internal hard drive). Images may be stored in an imagedatabase, such as the one shown in FIG. 8.

[0285] Other methods and aspects of capturing an image (e.g., using adigital camera) are known to those skilled in the art and need not bedescribed in detail herein.

[0286] In accordance with various embodiments of the present invention,a camera and/or server may output various different types of questionsto a user. Such questions to ask a user may be determined (e.g., by aserver) in many different ways, as discussed variously herein by way ofexample and without limitation. For instance, questions may bedetermined based on a condition, based on an image, and/or based on atemplate. A camera may determine a question to ask a user based on avariety of different factors, including images stored in the camera'smemory, the state of the camera (e.g., the camera's current settings),indications by a user (e.g., responses to previous questions), andinformation from sensors (e.g., information captured by an imagesensor).

[0287] For example, if a user captured an image of a group of people,then the camera may use image recognition software to determine thatthis image corresponds to a group of people and ask the user a questionabout this group of people (e.g., “Who's in this picture?”). Accordingto one embodiment, the camera may determine a question based on an imagethat was captured automatically (i.e., without the user pressing theshutter button on the camera).

[0288] According to one or more embodiments of the present invention, acamera may communicate with a server in order to determine a question tooutput to a user. For example, the camera may transmit any of variousinformation (e.g., images, GPS coordinates) to a computer server. Theserver may then determine one or more questions based on thisinformation. The server may then transmit an indication of at least onequestion to the camera, and the camera may output the question to auser.

[0289] Various types of information that may be collected by a cameraare described herein. Some examples of information that a camera maytransmit to a server include, without limitation: one or more imagescaptured by the camera, indications by a user (e.g., responses toquestions, usage of controls), a state of the camera (e.g., currentmode, images stored in memory), and information from sensors (e.g.,location, orientation, sound and audio).

[0290] A server may determine a question to output in accordance withone or more of the exemplary processes discussed herein. It isworthwhile to note that the computer server may have significantlygreater processing power, memory, power consumption (e.g., nobatteries), and physical size (e.g., not portable) than the camera. Thismay allow the computer server to perform computations and analysis thatare more complex or extensive than could those that could be performedquickly using the camera's processor. For example, the computer servercould run complicated image analysis and pattern matching algorithms todetermine an appropriate question to ask a user.

[0291] After a question is determined, a computer server may transmit anindication of the question to the camera. Examples of indications ofquestions include, without limitation, a question and a questionidentifier. For example, the computer server may transmit an audio clipor text messages corresponding to the question. The question may becompressed (e.g., as an MP3) to reduce the bandwidth necessary totransmit the question. In another example, the camera may store adatabase of questions, with each question in the database beingidentified by a question identifier. In order to indicate a question tothe camera, the computer server may transmit a question identifiercorresponding to the question. The camera may then retrieve the questionfrom the database.

[0292] After receiving an indication of a question from the computerserver, the camera may output this question to a user as discussedvariously herein.

[0293] According to some embodiments, a camera may determine a questionto ask a user based on a condition. This type of condition may also bereferred to as a determination condition to differentiate it from otherconditions described elsewhere in this disclosure.

[0294] Some examples of determining a question based on a condition arediscussed herein, without limitation. For instance, if the batteries inthe camera are running low (i.e., a condition), then the camera may askthe user, “How many more pictures are you planning on taking?” In oneexample, if a captured image includes an image of a football player(i.e., a condition), the user is to be asked, “Are you taking picturesof a football game?” In another example, if a captured image includes animage of a candle (i.e., a condition), the user may be asked, “Are youtaking pictures of a birthday party?” In one example, if a capturedimage includes an image of two or more people (i.e., a condition), thenthe question, “Who are the people in the photo?” is to be output to theuser.

[0295] As discussed variously herein, in accordance with someembodiments of the present invention, a camera or server may determine aquestion to ask a user based on one or more images that have beencaptured. That is, an image may be captured and then the camera maydetermine a question to ask a user based on this image.

[0296] As discussed herein, determining a question based on an image mayinclude processing the image using image recognition software. A widevariety of image recognition programs are known to those skilled in theart and need not be described in detail herein.

[0297] In one example of determining a question based on an image, auser captures an image using the camera. The camera may determine, basedon an analysis of the image, that this image shows a person sittingunder a tree. Based on this determination, the camera may ask the user aquestion such as, “Who is the person sitting under the tree in thispicture?” The user's response to this question (e.g., “Alice”) may beused, for example, to meta-tag the image.

[0298] In another example, the camera may automatically capture aplurality of images of an exciting series of plays during a basketballgame. Based on these images, the camera may ask the user, “Are youinterested in pictures of any of the following players (check all thatapply)?” The camera may then save or delete some or all of the capturedimages based on the user's response to this question.

[0299] In another example of determining a question based on an image, auser may capture an image of a child with a present. Based on thisimage, the camera may ask the user, “Are you taking pictures of abirthday party?” If the user indicates that he is indeed taking picturesof a birthday party, the camera may adjust the shutter speed to be atleast {fraction (1/125)} sec, so as to capture the children who aremoving quickly.

[0300] The camera may determine a question based on one or moreproperties of an image, including, without limitation: exposure (e.g.,including brightness, contrast, hue, saturation), framing (e.g.,organization of subjects within the image, background), focus (e.g.,sharpness, depth of field), digitization (e.g., resolution,quantization, compression), meta-information associated with an image(e.g., camera settings, identities of people in an image, a ratingprovided by a user), subject(s) (e.g., people, animals, inanimateobjects), scenery (e.g., background), and motion relating to an image(e.g., movement of a subject, movement of the camera).

[0301] The camera may determine a question based on exposure of animage. For example, the camera may determine that the background of animage is brighter than the foreground of the image. Based on this, thecamera may ask a user, “Would you like to use a fill flash to brightenyour subject?” In another example, the camera may determine that animage is too bright. Based on this, the camera may ask a user, “Are youtrying to take a picture of a sunrise or sunset?”

[0302] The camera may determine a question based on framing of an image.For example, the camera may determine that an image includes twoobjects, one in the foreground and one in the background. Based on this,the camera may ask a user, “Which object do you want to focus on, theone in the foreground or the one in the background?” If the objects havebeen identified (e.g., by the camera using an image recognitionprogram), the different objects may be named in the question.

[0303] In an example of how camera may determine a question based onfocus of an image, the camera may determine that a portion of an imageis blurred (e.g., as if by movement). Based on this, the camera may aska user, “Are you taking pictures of a sporting event?” Based on theuser's response, the camera may then adjust a setting on the camera(e.g., increase the shutter speed to at least {fraction (1/250)} sec) asdescribed herein.

[0304] The camera may determine a question based on meta-informationassociated with an image (e.g., camera settings, identities of people inan image). In one example, the camera recognizes that an image has beenmeta-tagged as being taken at 7:06 p.m. Based on this information, thecamera may ask a user, “Is the sun about to go down?” or “How long willit be until the sun goes down?” In another example, an image may includea meta-tag that indicates that it shows Alice and Bob in a canoe. Basedon this tag, the camera may ask a user, “Are you taking pictures at alake or river?” In another example, an image may include a meta-tag thatindicates the preferred cropping or scale for the image. Based on this,the camera may ask a user, “When your subject is off-center, do you wantthe background to be in focus?” In still another example, meta-dataassociated with an image may include a rating of the quality of theimage (e.g., a rating provided by the user or determined by the camera).The camera may determine a question based on this rating (e.g., “Thisimage appears to be overexposed. Are you trying to create an artisticeffect?”).

[0305] As discussed herein, the use of image recognition software mayallow for one or more subjects of a captured image to be determined.Examples of subjects include, without limitation: people, animals,buildings, vehicles, trees, the sky, a ceiling, a landscape, etc.Determining a question may comprise determining a type of scenery (e.g.,natural landscape) in the image. Scenery may include one or moresubjects, which may or may not be identified individually. Further,according to some embodiments, one or more questions may be determinedbased on whether the image matches a template.

[0306] In one example of determining a question based on a subject in animage, the camera may identify a candle in an image. Based on thisdetermination, the camera may ask a user, “Are you taking pictures at abirthday party?” In another example, the camera may identify a largebody of water in an image. Based on this, the camera may ask a user,“Are you on a boat?” Based on a determination that an image includes abuilding, for example, the camera may ask a user, “Are you outside?” Ifit is determined that an image includes a mountain, for example, thecamera may ask a user, “What mountain is this?”

[0307] It will be readily understood that at least one subject of animage may be a person. In some embodiments, determining a question mayinclude one or more of the following steps: determining that an imageincludes at least one person, identifying at least one person in animage, and determining one or more characteristics of at least oneperson in image. One or more of the above steps may be performed by aserver and/or camera.

[0308] In one example of determining a question based on a subject in animage, the camera may identify a person in an image (e.g. based oninformation received from a server). Based on this identification, thecamera may ask a user, “Is this a picture of Alice?” The camera maydetermine a question based on a person in an image. In another example,the camera may ask a user, “Do you already have any pictures of thisperson?” A camera may ask a user, “What color skin does Bob have?” Theuser's answer to this question may be useful in determining how to setexposure settings on the camera when taking a picture of Bob. Thesubject of an image may be identified as a football player and thus mayindicate that a user is capturing images of a football game.Accordingly, the camera may ask the user, “Are you taking pictures of afootball game?”

[0309] The camera may determine a question based on motion relating toan image (e.g., based on blurring of an image or comparison of aplurality of images). For example, the camera may determine a questionbased on motion of a subject in an image. For instance, if a subject inan image is moving quickly, the camera may ask a user, “Are you takingsports pictures?” In another example, the camera may determine that theground plane in an image is moving slightly (e.g., shimmering likewater). Based on this, the camera may ask a user, “Are you takingpictures of water (e.g., the ocean, a fountain, a creek)?” An imagingdevice may determine that it is moving (e.g., using a GPS sensor). Basedon this determination, a digital camera may ask a user, “Are you in avehicle (e.g., a car, a boat, an airplane)?”

[0310] Various embodiments of the present invention allow for a questionto be determined based on a plurality of images. For example, the cameramay capture two images in close succession (e.g., {fraction (1/10)} of asecond apart). The camera may compare these images and may determinethat a subject (e.g., a person, an animal) is moving. Based on thisdetermination, the camera may ask a user, “Are you taking pictures of asporting event?” In some embodiments related to multiple images, acamera may determine a question based on at least one difference among aplurality of images. For example, the camera may capture a plurality ofimages in bright light conditions (e.g., outdoors on a sunny day). Thenthe camera may capture an image in low light conditions (e.g., so littlelight that a flash in necessary). Based on this, the camera may ask auser a question, “Did you just go inside a building?”

[0311] The camera may also be configured so as to determine a questionbased on at least one similarity among a plurality of images. Forexample, the camera may determine that two images have the same personwearing a red shirt in them. Based on this, the camera may ask a user,“Who is the person in the red shirt?” In another example, the camera maydetermine that a first image is of a tiger and a second image is of apolar bear. Since a tiger and a polar bear are both animals, the cameramay ask a user, “Are you at the zoo?”

[0312] A question may refer to an image (and thereby be based on theimage). Examples include, without limitation:

[0313] (i) “Is this picture bright enough?”

[0314] (ii) “Who is the person wearing the yellow jacket in this image?”

[0315] (iii) “Do you mind if I delete this image? You have two othersjust like it.”

[0316] (iv) “Where was this picture taken?<show the picture>?”

[0317] (v) “Please highlight Alice's face in this image.”

[0318] According to at least one embodiment of the present invention,one way of determining a question based on an image is to determine ifan image matches a template. For example, a camera and/or server maystore a plurality of templates. Each template may correspond to adifferent type of image, category of image, or one or more properties ofan image. After an image is captured, this image may be compared to oneor more of the templates to see if there is a match. If the imagematches a template, then an appropriate question may be determined(e.g., to verify that the image does in fact match the template and/orto verify information useful in determining a setting on the camera).

[0319] Some examples of templates include, without limitation:

[0320] (i) An “indoors” template. If an image matches with the indoorstemplate, then the camera may determine that there is a significantprobability that the user is capturing images inside a building. Thecamera may then determine an appropriate question to ask the user (e.g.,“Are you indoors?”).

[0321] (ii) A “sandy beach” template. If an image matches with the“sandy beach” template, then the image may have been captured on a sandybeach (e.g., in bright sunlight, where water may be nearby). The cameramay then determine an appropriate question to ask the user (e.g., “Areyou at the beach?”).

[0322] (iii) A “football player” template. If an image matches the“football player” template, then the image may include a footballplayer. The camera may then determine to ask the user, “Are you takingpictures of a football game?” Note that in a preferred embodiment afootball player template may match with any picture of a footballplayer, whether the player is facing the camera, facing away from thecamera, or lying on the ground. Alternatively, there may multiple“football player” templates, with some corresponding to a footballplayer in a different position, with different lighting, etc.

[0323] (iv) A “candle” template. If an image matches the “candle”template, then the image may include a candle or other point lightsource (e.g., light bulb, flashlight). Based on this, the camera maydetermine a question to ask a user (e.g., “Are you taking pictures at abirthday party?”).

[0324] (v) A “Bob Jones” template. In an image matches the “BobJones”-template, then the image may include a picture of Bob Jones(e.g., who may be a friend of the user of the camera). Based on this,the camera may determine a question to ask a user (e.g., “What is Bobdoing in this picture?”).

[0325] (vi) A “fluorescent light bulb” template. If an image matcheswith this template, then the scene in the image may have beenilluminated with a fluorescent light bulb. The camera may ask a user anappropriate question based on the image and the determined template.

[0326] In accordance with various embodiments of the present invention,a camera and/or a server may perform one or more of the following stepsin matching an image to a template:

[0327] (i) determining an image

[0328] (ii) storing one or more templates (e.g., in a template database)

[0329] (iii) determining that the image matches at least one template

[0330] (iv) determining a correspondence between the image and at leastone template

[0331] (v) determining a question based on the image and the at leastone template

[0332] (vi) determining a correlation between the image and at least onetemplate

[0333] (vii) determining a degree to which the image matches at leastone template

[0334] Note that the matching of an image to a template may be acondition. That is, if an image matches a template, then a condition maybe true and a question may be determined based on this condition, asdescribed herein.

[0335] It will be understood that an image may match with multipletemplates. For example, a picture of Bob Jones on a beach may match withboth the “Bob Jones” template and the “sandy beach” template. In thiscircumstance, a question may be determined based on one or both of thetemplates.

[0336] Also, it may be possible for an image to partially match atemplate. For example, matching an image to a template may includedetermining how much the image matches the template. Some examples ofpartial matches include, without limitation:

[0337] (i) An image of a light bulb may only be a 65% match for the“candle template.”

[0338] (ii) An image may match a first template to a first degree and asecond template to a second degree. For example, an image of Steve Jones(who looks similar to his bother Tom Jones) may be a 95% match with the“Steve Jones” template and a 80% match with the “Tom Jones” template.

[0339] (iii) An image that was taken indoors may be a 5% match for the“sandy beach” template.

[0340] (iv) An image may only be considered a match for a template ifthe amount that the image matches the template is greater than athreshold value (e.g., 95% certainty).

[0341] According to some embodiments, the camera may determine and/orcreate a template based on a user's response to a question. For example,the camera may create an “Alice Jones” template based on an indicationby a user that an image is of Alice Jones.

[0342] After a question is determined, a camera may output the questionto a user. Various different ways that a question may be output to auser of a camera are discussed herein.

[0343] A question may be output to a user of a camera in a variety ofdifferent ways. For example, a question may be output using one or moreof a variety of different output devices. Examples of output devicesthat may output questions to a user include, without limitation:

[0344] (i) An LCD screen. For example, the camera may include a colorLCD screen on its back. This LCD screen may display questions to a user(e.g., as text).

[0345] (ii) An audio speaker. For example, the camera may use an audiospeaker to output a audio clip of a question to a user.

[0346] (iii) An LED screen. For example, the camera may include a LEDscreen that displays questions to users as scrolling text.

[0347] (iv) A heads-up viewfinder display. For example, a question maybe displayed on the viewfinder of the camera so that a user can view thequestion while composing a shot (i.e., which the user is preparing tocapture an image).

[0348] (v) A printer. For example, the camera may include thermalprinter that may print out a list of questions for a user to answer.

[0349] Other examples of output devices that may be used to output aquestion are discussed herein.

[0350] A question may be represented in or more of a variety ofdifferent media formats, including text, audio, images, video, and anycombination thereof. Examples of questions being output as text includea question displayed as text on an LCD screen on the back of the cameraand a question displayed as text overlaid on the camera's viewfinder. Inanother example, a text question may repeatedly scroll across a headerbar on the camera's LCD screen. It will be understood that variousvisual cues may be used to draw a user's attention to a message that isoutput in text, including different fonts, font sizes, colors, textboxes, and backgrounds.

[0351] Examples of questions being output as audio include an audiorecording of a question. In another example, speech synthesis softwaremay be used to generate an audio representation of a question. Inanother example, a “BEEP” sound may be output when a question isdisplayed on a video screen. Examples of outputting questions usingimages and video include, without limitation, displaying a sequence ofimages (e.g., a movie) to a camera user using a video screen. In anotherexample, a video of an animated cartoon character may indicate aquestion to user.

[0352] Note that a message may be presented in a plurality of ways. Forexample, a question may include both a text component and an audiocomponent (e.g., the camera may beep and then display a question on anLCD screen). In a second example, the camera may display an image on itscolor LCD screen and then play an audio recording of a question.

[0353] Note that a question may be phrased in the first person. Forexample, a question may use the word “I” to refer to itself or the word“we” to refer to the camera and the user. Examples include, withoutlimitation:

[0354] (i) “Are we at the beach?”

[0355] (ii) “It seems to me that we're indoors right now. Is thiscorrect?”

[0356] (iii) “Am I underwater?

[0357] (iv) “How many more pictures should I plan on taking today?”

[0358] (v) “Should I use the red-eye reduction flash?”

[0359] A question may be output in different languages (e.g., dependingon who is using the camera). For example, if the current user of thecamera speaks English, then a question may be output to the user inEnglish. However, if the current user of the camera speaks Chinese, thenthe question may be output the to the user in Chinese.

[0360] According to some embodiments of the present invention, aquestion may be output by a presenter (e.g., a character that presentsthe question to a user). Examples of presenters include, withoutlimitation:

[0361] (i) A speaker. For example, the camera may store two recordingsof a question-one with a female speaker and one with a male speaker.

[0362] (ii) An animated character in a video message. For example, anavatar, virtual assistant, or other on-screen character may be displayedto a user in conjunction with a question. For example, an animatedrabbit may be displayed on the camera's LCD screen and “talk” to a user,thereby outputting one or more questions to the user. Indications fromthe rabbit may be provided as text (e.g., displayed using a speechbubble as a partition) and/or audio (e.g., an audio recording may beplayed, allowing the rabbit to “speak” to the camera user.)

[0363] (iii) An actor. For example, a video of an actor presenting aquestion may be displayed to a user on the camera's LCD screen. Thecamera may store a database of video clips representing differentquestions.

[0364] (iv) A celebrity. For example, an audio or video recording of acelebrity (e.g., William Shatner) reciting a question may be output to auser.

[0365] It is anticipated that some types of camera users may pay moreattention to representations of message that include certain presenters.For example, a user may pay extra attention to a message that ispresented by his favorite celebrity.

[0366] In order to accommodate a variety of different formats andlanguages for the same question, the camera may store one or morerepresentations of a question in memory. For example, for a givenquestion (e.g., “Are you at a ski resort?”), the camera may store thefollowing representations: a text version of the question in English, anaudio version of the question in English, a text version of the questionin Spanish, and an audio version of the question in Spanish.

[0367] As discussed variously herein, a question may be output to a userat a variety of different times. For example, the camera may delayoutputting a question until an appropriate time. In another example, thecamera may output a questions based on a condition.

[0368] In addition to outputting a question, the camera may output otherinformation that may be helpful to the user. Examples of additionalinformation may include, without limitation: at least one image thatrelates to the question, potential answers to the question (e.g., for amultiple choice question), a reason for asking the question, currentsettings on the camera, a default answer to the question, and a categoryfor the question.

[0369] As discussed herein, the camera may output a question to a userthat relates to at least one image. To assist the user in answering thequestion, the camera may display at least one image to the user. Forexample, the camera may display a picture of a person on the beach to auser and ask the user, “Is this a picture of Alice or Bob?” In anotherexample, the camera may display a set of four pictures to a user and askthe user, “All of these pictures are of Alice, right?”

[0370] In another example, the camera may display a plurality picturesto a user and ask the user, “Pick your favorite picture from thisgroup.” A camera may display an image to a user and ask the user, “Isthis picture underexposed?” or may highlight a portion of an image ask auser, “Is this the subject of the image?” In yet another example, thecamera may automatically crop an image and ask a user, “I'm going toautomatically crop this image. Is this a good way to crop the image?”

[0371] Indicating potential answers to a question may be helpful indescribing to a user how he should answer a question, indicatingacceptable answers to a question, and/or reducing the time or effortrequired for a user to answer a question. Examples of potential answersto questions include, without limitation:

[0372] (i) “Yes”/“No”/“I'm not sure”

[0373] (ii) “Alice”/“Bob”/“both Alice and Bob”/“neither Alice nor Bob”

[0374] (iii) “tungsten”/“fluorescent”/“I'm not indoors”/“I don't know”

[0375] (iv) “overexposed”/“underexposed”/“just right”

[0376] Indicating at least one reason for asking a question may behelpful in explaining the purpose of a question to a user, or inexplaining to a user why it would be beneficial for him to answer aquestion. Some examples of the camera indicating one or more reasons forasking a question include:

[0377] (i) “I thought I saw a football player in that last photo youtook. Are you taking pictures of a sporting event?”

[0378] (ii) “Based on the last picture you took, it looks to me likeyou're on a beach. Are you taking picture on a beach?”

[0379] (iii) “It looks like you're taking a lot of pictures outdoorswith white backgrounds. Are you at a ski resort?”

[0380] (iv) “The camera seems to be rocking back and forth. Are you on aboat?”

[0381] (v) “It looks like there was a reflection in the last picture youtook. Are you trying to take pictures through a glass window?”

[0382] (vi) “How many more pictures are you planning on taking? If youcontinue storing your pictures at high resolution, you only have spacefor 12 more pictures.”

[0383] Indicating at least one setting on the camera may help the userto understand the context of a question, or to make a decision on how torespond to a question. In one example, the camera indicates: “The flashis currently off. Are we indoors?” In another example, the cameradisplays: “Pictures are currently being captured at 1600×1200resolution, meaning that I have enough memory left to hold 15 morepictures at this resolution. How many more pictures are you planning ontaking?” Providing such additional information may be beneficial to sometypes of users.

[0384] Some embodiments of the present invention provide for a defaultor predetermined answer to a question output to a user. In some cases,the default answer may be indicated to the user. Some examples of outputincluding default answers to questions include:

[0385] (i) “We're indoors, right? If you don't answer in 5 seconds, I'llassume that we're indoors . . . ”

[0386] (ii) “Let me know if any of this information is incorrect: You'retaking pictures at a birthday party. There are 8 children at thebirthday party. So far you've taken pictures of 3 children: Alice, Bob,and Carly.”

[0387] (iii) “The girl wearing the blue sweater is Alice, right? Pressthe “no” button if this is incorrect.”

[0388] Questions may be categorized, allowing the camera to output anindication of at least one category corresponding to a question.Categorizing a question may be helpful to some users, for example, ifthere are a plurality of questions that may be output to a user and theuser would like to sort these questions. Questions may be categorizedbased on a variety of different factors, including, without limitation:

[0389] (i) topic (e.g., “Lighting Questions,” “Focus Questions,”“Meta-Tagging Questions,” “Situational Questions,” “Questions aboutFuture Plans,” “Questions About Past Images”)

[0390] (ii) image (e.g., “Questions About Image #1,” “Questions AboutThe Last 8 Images Captured,” “Questions about Images CapturedYesterday”)

[0391] (iii) priority (e.g., “High-Priority Questions,” “Questions toAnswer in the Next 5 Minutes,” “Questions to Answer During Your FreeTime,” “Questions to Answer Before Capturing More Images”)

[0392] (iv) type of response (e.g., “Yes/No Questions,” “Free AnswerQuestions,” “Multiple Choice Questions”)

[0393] (v) potential actions based on a user's response (e.g.,“Meta-Tagging Questions,” “Settings Questions,” “Image StorageQuestions”)

[0394] As discussed herein, the camera may determine a question tooutput to a user (e.g., based on a determination condition).Alternatively, or in addition, the camera may determine when and/or howto output a question to a user based on one or more conditions. Forexample, a question may be output as an audio recording while a user islooking through the viewfinder of the camera. In another example, thecamera may delay outputting a question to a user until there is a pausein the user's activities.

[0395] The camera thus may output a question based on a condition. Thiscondition may also be referred to as an output condition todifferentiate it from other types of conditions (e.g., determinationconditions) described elsewhere in this disclosure.

[0396] According to some examples, without limitation, a question may beoutput: when a condition occurs, when a condition is true, when acondition becomes true, in response to a condition, in response to acondition occurring, in response to a condition being true, because of acondition, because a condition occurred, because a condition is true,according to a condition, at substantially the same time that acondition occurs, and/or at substantially the same time that a conditionbecomes true.

[0397] Note that conditions may be useful in enabling a variety ofdifferent functions. For example, as discussed herein, a condition maybe used in determining what question(s) to output and/or for determiningan order in which to output a plurality of questions.

[0398] In another example, a condition may be useful for determiningwhen to output a question (e.g., determining an appropriate time tooutput a question). According to some embodiments, output of a questionmay be delayed until a condition occurs. For example, it may be annoyingto output a question to a user when the user is busy taking photographsat a birthday party or busy talking with a friend. Therefore, outputtinga question to the user may be delayed until an appropriate time.

[0399] In some embodiments, as described herein, a condition may be usedin determining how to output a question. For example, a condition may beused to determine whether a question should be output in text on thecamera's LCD display or as audio through the camera's audio speaker. Ina second example, the camera may select which personality should be usedin outputting a question to a user.

[0400] In light of the present disclosure, one skilled in the art willunderstand that conditions for outputting a question may be similar toconditions for determining a question. For example, it should be clearto the reader that an output condition may be a Boolean expressionand/or may be based on one or more factors

[0401] Many types of factors are discussed herein as being potentiallyuseful in making one or more of various types of determinations. Forexample, any of the factors described herein as potentially useful indetermining a question to ask a user (e.g., images, indications by auser, movement of the camera, time-related factors, state of the camera,information from sensors, characteristics of a user, information from adatabase) may also be used for determining when and/or how to output aquestion to a user. Still other factors will be readily apparent tothose skilled in the art in light of the present disclosure.

[0402] Some moments may be particularly appropriate for outputting aquestion to a user. Some general examples of appropriate times to outputa question include, without limitation: when a user is composing a shot(e.g., is about to capture an image), when a user is inactive, when auser indicates that he is interested in receiving at least one question,when a user is viewing an image, when a user is answering one or morequestions, when the camera's resources are running low, and when a userstarts to capture images of a scene. Some of these general examples arediscussed in further detail herein.

[0403] According to some embodiments, a question may be output when itis determined (e.g., by the camera) that a user is composing a shot.Some exemplary scenarios include, without limitation:

[0404] (i) Operation of a control. For example, if the user presses theshutter button halfway down, then this may indicate that he is composinga shot. This may be an appropriate time to ask him a question about theshot. In a second example, the camera may output a question to a userwhen the user switches the camera from manual exposure mode toauto-exposure mode.

[0405] (ii) Use of the optical viewfinder on the camera. For example,the camera may include a sensor that determines when the user is lookingthrough the optical viewfinder on the camera.

[0406] (iii) Use of the digital viewfinder on the camera. For example,if a user turns on the digital viewfinder on his camera, this may be asign that he is about to start capturing images.

[0407] (iv) When the camera is being held steadily (e.g., in ahorizontal position). If a user is holding the camera steady in ahorizontal position, for example, it may be likely that he is about tocapture an image.

[0408] (v) Holding of the camera in two hands. For example, the cameramay include one or more touch sensors (e.g., heat, continuity, electricfield, pressure) that may determine when a user places both of his handson the camera. This may be considered an indication that the user iscomposing a shot.

[0409] Some factors may be related to an indication by a user. Forexample, the camera may include a button or menu option labeled “Ask Mea Question.” Whenever a user has free time, he may press this button toanswer any questions that the camera has. An indication that the userhas pressed the button may trigger the camera to provide one or morequestions. In another example, whenever the camera has a question to aska user, it may output an indication of this (e.g., by beeping once orilluminating an LED). The user may then respond to this indication athis leisure (e.g., once he finishes capturing a sequence of actionphotos) by providing an indication (e.g., pressing a button on thecamera) when he is ready to answer the question.

[0410] In some embodiments, a user may provide an indication of whatquestion he would like to answer. For example, a user may select aquestion or question topic from a list of questions or question topics.In a second example, a user may use the camera to view images that hehas already captured. Some images may have questions associated withthem, and to indicate this, these images may be highlighted by thecamera, for example, with green borders. To indicate what question hewould like to answer, the user may select (e.g., using a touch screen,using a dial) one or more of the highlighted images.

[0411] A user may provide an indication of how a question should beoutput. For example, the camera may normally output questions in anaudio format. A user who is operating the camera in an opera house,however, may prefer to avoid disturbing other audience members.Therefore, the user may operate a control on the camera to indicate thathe would prefer that the camera output the question in text form (e.g.,via the camera's LCD display).

[0412] Some factors relating to inactivity by a user may be used indetermining how and/or when to output a question. Such factors mayinclude, without limitation:

[0413] (i) Duration since activity by a user. For example, the cameramay include a timer that monitors the period of time that has elapsedsince a user performed an activity (e.g., operated a control on thecamera). If a threshold amount of time has elapsed (e.g., sixtyseconds), then the camera may determine that a question should be outputto the user.

[0414] (ii) Measurements relating to images captured by a user. Forexample, the camera may monitor a duration since an image has beencaptured (e.g., sixty-five seconds) or an average rate of capturingimages (e.g., one picture every thirty-two seconds).

[0415] (iii) Lack of sound. For example, the camera may include amicrophone that monitors the level of audible background noise aroundthe camera. If the level of background noise falls below a thresholdlevel, the camera may determine that this is an appropriate time tooutput a question to a user.

[0416] (iv) Movement of the user and/or the camera. For example, thecamera may include one or more motion sensors that may be helpful indetermining whether the user is currently composing a shot, moving to anew location, or otherwise engaged in an activity. If the cameradetermines that the user is not moving the camera, a question may beoutput the user.

[0417] (v) Power down. For example, if the camera determines (or a userindicates) that the camera should enter power-save mode, then the cameramay determine that this is an appropriate time to output a question to auser. In a second example, the camera may output an indication that oneor more questions are ready any time the user turns the camera on oroff.

[0418] Examples of factors relating to the camera outputting an imageinclude, without limitation:

[0419] (i) Viewing an image using the camera. For example, the cameramay include a color LCD display that allows a user to view images thatare stored in the camera's memory (e.g., images that he has alreadycaptured using the camera). If the user uses the LCD display to view oneor more images, this may indicate that the user is no longer busy withother activities and it may be an appropriate time to output a questionto the user. For example, the camera may output any questions relatingto an image when the user views that image on the camera.

[0420] (ii) Printing an image. For example, the camera may include aprinter or be connected to a printer. When a user operates the camera toprint one or more images, the camera may output one or more questions tothe user (e.g., questions relating to the one or more images).

[0421] (iii) Transferring an image to another device. For example, thecamera may transfer images to one or more various other devices (e.g., adesktop computer using a USB cable, an iPod™ portable wallet, atelevision set for viewing, a color inkjet printer for printing, aremovable flash memory card for storage). One or more questions may beoutput to a user before, during, and/or after the transfer of an imageto another device.

[0422] In some embodiments, it may be determined that it is appropriateto ask a question when the user is answering one or more otherquestions. For example, a plurality of questions may be output to a usersimultaneously or in close succession. For example, it may be mostconvenient for a user to answer all or most of the camera's questions atone time, rather than individually as the camera determines questions toask the user.

[0423] In another example, a second question may be output to a userbased on a user's response to a first question. For instance, the cameramay ask a user, “Where are you in this picture?” If the user responds,“on a beach,” then the camera may ask the user a second, relatedquestion: “Are these two pictures taken on the same beach?”

[0424] A determination that the camera's resources are running low maybe used in determining when or how to provide a question. For example,if a camera's batteries are running low, the camera may output thequestion, “The batteries are running low. Do you have any morebatteries?” In another example, if a memory resource (e.g., a flashmemory card) approaches or is below a predetermined threshold ofavailable memory (e.g., ten Mb) the camera may output the question, “Youhave only 10 Mb of memory left. How many more images are you planning oncapturing?”

[0425] It may be desirable to output one or more questions when a useris starting to capture images of a scene. Some exemplary related factorsand scenarios include, without limitation:

[0426] (i) A user turns the camera on. For example, each time a userturns the camera on, this may be a sign that the user is about tocapture images of a new scene. Based on this, the camera may ask theuser a question (e.g., “Are you indoors or outdoors?”).

[0427] (ii) A user captures an image. For example, the camera may outputa question to a user immediately after the user captures an image of thescene (e.g., in the anticipation that the user will capture additionalimages of the scene).

[0428] (iii) A user presses the shutter button. For example, the cameramay output a question to a user when the user presses the shutter buttonon the camera halfway (e.g., to focus the camera's lens on a subject).This may indicate that the user is about to capture an image of thesubject.

[0429] (iv) A user moves to a new location. For example, the camera mayinclude a GPS sensor or other location sensor that allows it todetermine when a user moves the camera to a new location. Since this maybe a sign that the user is now capturing images of a new scene, aquestion may be output to the user (e.g., “Are you still taking picturesof Alice?”).

[0430] (v) A user operates a control. For example, the camera may outputa question to a user when the user adjusts a setting on the camera,since this may be an indication that some aspect of the camera'ssettings need to be adjusted (e.g., because the user is capturing imagesof a different subject).

[0431] The camera may store an output condition database such as the oneshown in FIG. 11. Note that the output condition database shown in FIG.11 specifies how one or more questions should be output to a user. Forexample, if the camera is currently in manual mode, the camera willoutput a question to a user by beeping and displaying the question astext along the bottom of the camera's viewfinder. Note that thisexemplary version of the output condition database may be used by thecamera to output a question based on a current mode of the camera andpossibly one or more other factors. For example, according to the outputcondition database shown in FIG. 11, the camera is currently in “Manual”mode, so questions may be output to a user when the user looks throughthe camera's viewfinder. An alternate version of the output conditiondatabase might be used to output a question based on other factors.

[0432] There may be times when a user would prefer not to have aquestion output to him (e.g., when he is busy with another activity, orwhen outputting a question would be disturbing to the user or otherpeople). In circumstances like these, output of a question may besuppressed (e.g., by the camera) based on one or more conditions.Suppressing a question may include, without limitation: preventing aquestion from being output, not outputting a question, canceling outputof a question, and delaying output of the question.

[0433] It will be readily understood that a question may be determined,as discussed variously understood, but that its output is suppressed,delayed, or cancelled. Also, suppression of a question does notnecessarily mean that no questions are output at all. Suppression mayinclude suppressing one or more questions (or types of questions) whileone or more other questions are output. For example, two questions maybe identified at about the same time for output to a user, with onebeing output immediately and output of the second question being delayeduntil a more appropriate time.

[0434] Conditions for suppressing questions may be similar to thosedescribed above for outputting questions. For example, a question may besuppressed based on an indication from a user or because a time limitexpires.

[0435] In some embodiments, a question may be suppressed because itcomes at an inappropriate time. For example, it may be determined that auser may currently be busy with another activity. In another example, ifa user is busy adjusting the camera's settings, then the camera maydelay outputting a question until the user finishes adjusting thecamera's settings and captures the image that he was busing composing.

[0436] According to some embodiments, one or more questions may besuppressed because of inappropriate content. For example, a determinedquestion may be a duplicate of a recently-asked question. Since the userhas already answered the question, it may be bothersome to ask the userthe same question again. In another example, the answer to (or purposeof) a question may no longer be relevant. For instance, while a user isindoors, the camera may determine a question to ask the user: “What typeof light bulb does this room have, tungsten or fluorescent?” However,the camera may have delayed outputting this question, because the useris in the middle of a conversation with a friend, for example. If theuser then moves outside before the question is output, that question isno longer relevant.

[0437] A user may indicate that one or more messages (or types ofmessages) should be suppressed. For example, a user who is capturingimages at a golf tournament may indicate that no audio message should beoutput (e.g., so that the user does not disturb the golfers).

[0438] Suppressing a question may include removing the question from anoutput queue or other list of questions to be output to a user.

[0439] The output condition database shown in FIG. 11 shows an exampleof delaying output of a question if the camera is in “Sports” mode Inthis exemplary mode, the camera may delay outputting a question to auser until the camera is held still for a period of time. Anotherexample of FIG. 11 relates to canceling output of a question. Forexample, the camera may refrain from outputting any questions when it isin “Do Not Disturb” mode.

[0440] According to some embodiments of the present invention, a cameramay output an indication of a question before outputting the questionitself. For instance, rather than outputting a determined questionimmediately, the camera may output an indication that the question isready to be output. In some embodiments, the camera will then wait for auser to indicate that he is ready for the question itself to be output.For example, the camera may beep when it determines a question and thenwait for the user to respond to this beep before outputting thequestion. In a second example, an LED on the camera may flash wheneverthe camera has a question ready to output to a user.

[0441] According to some embodiments, outputting a question to a usermay include one or more of the following steps: outputting an indicationthat a question is ready, receiving a response to the indication fromthe user, and outputting the question based on the response. Examples ofeach of these steps are provided below.

[0442] Some examples of outputting an indication that a question isready include, without limitation: outputting an indication that aquestion has been determined, outputting an indication that a questionhas been queued for output, outputting an indication that a question hasbeen retrieved from memory, outputting an indication that a question isready to be output, outputting a request for the user's attention, andoutputting a request for the user's attention regarding a question. Someof these examples are discussed in more detail herein.

[0443] It will be readily understood that there are many ways ofindicating to a user that a question is ready, such as by use of thevarious output devices discussed herein. For example, outputting anindication may comprise illuminating an LED on a camera. A user mayunderstand that whenever this LED is illuminated, the camera has aquestion queued to ask the user. In another example, an audible “BEEP”or bell sound may be output that a user may hear. A user may understandthat whenever this beep sounds, the camera has a question queued to askthe user. A message may be displayed on an LCD screen. For example, anLCD screen on the back of the camera may display a text, “I've got aquestion. Press the ‘Ask Me a Question’ button to have this questionoutput to you.”

[0444] In still another example, a portion of an image may behighlighted (e.g., in the camera's viewfinder). For instance, if thecamera has a question about a particular subject in an image, the cameramay highlight that subject in red when the image is displayed on thecamera's LCD viewfinder. Different types of visual indicators may beused to alert a user that at least one question is pending. In oneexample, when a user views an image using the camera, the camera mayplace a green border around the image to indicate that there is aquestion associated with the image. In another example, a red questionmark may be overlaid on the corner of a displayed image to indicate thatthe camera has a question related to the image.

[0445] It will be readily understood that various methods describedherein for outputting a question may also be used to output anindication that a question is ready. For example, an indication that aquestion is ready may include a presenter (e.g., an animated character,a celebrity voice).

[0446] The camera may output an indication that a question is readybased on one or more conditions. Note that the various output conditionsdescribed herein for outputting a question may also be used to controlthe output of an indication that a question is ready.

[0447] According to some embodiments, a user may respond at his leisureto an indication that a question is ready. For example, at 2:12 p.m. thecamera may beep to indicate that it has a question to ask a user. Theuser may be busy with some other activity at this time (e.g., capturingan important sequence of images of a sporting event) and so ignores thisbeep until 2:17 p.m., when he is free to pay attention to the questionthat the camera outputs. To indicate that he would like to answer aquestion, the user may operate a control on the camera (e.g., press abutton).

[0448] Receiving a response to an indication that a question is readymay include, without limitation: receiving an indication from a user,receiving an indication that a user would like to view a question, andreceiving an indication that a user is inactive. A user may provide aresponse by operating a control or other input device on the camera.Various types of input devices are discussed herein, and others may bereadily apparent to one skilled in the art in light of the presentdisclosure.

[0449] A user's response may include an indication of which questionshould be output. For example, a user may indicate that he is ready toanswer questions about lighting, scenes, and future plans, but not aboutmeta-tagging. In a second example, a user may select a question toanswer from a list of questions that have been determined.

[0450] A user's response may include an indication of how to output aquestion. For example, a user may prefer to have a question output tohim with both audio (e.g., through a speaker on the camera) and text(e.g., through a LCD display on the camera).

[0451] Some types of users may prefer to have the camera output anindication that a question is ready before outputting the question.Other users may prefer to have the camera determine the best time(s) tooutput a question. For example, allowing the user to control when andhow a question is output may be preferred by users because of thecontrol and simplicity such a system offers. For instance, a user maywish to have control over the outputting of questions that he findsannoying.

[0452] The output condition database in FIG. 11 shows a number ofexamples of how the camera may output an indication that a question isready before outputting the question itself. According to one example,when the camera is in “Output Upon Request” mode, the camera will beepwhen a question is ready to be output and then wait until a user pressesthe camera's “Ask Me a Question” button before outputting a question. Inanother example, when the camera is in “Silent” mode, the camera willcause an LED to blink to indicate that a question is ready.

[0453] According to various embodiments of the present invention, a usermay indicate a response to a question that is output to him. Forexample, the camera may output a question to a user, “Are we on abeach?” and the user may reply “No.”

[0454] A user may operate one or more controls or other input devices ofthe camera to indicate a response to a question. Various types of inputdevices and controls that the camera may include are described herein,and other types may be readily apparent to those skilled in the art inlight of the present disclosure. For example, a user may use one or morebuttons on the camera to select a response from a plurality of response(e.g., an answer to a multiple-choice question). For instance, a usermay select a response from the list of choices: “sunny,” “partlycloudy,” “light rain,” “heavy rain,” “light snow,” “heavy snow.” Inanother example, a user may press a button on the camera to indicate“Yes” in response to a question of whether he is capturing images of asporting event. In another example, the camera may include a microphonethat allows a user to respond to a question verbally (e.g., a user mayindicate the weather outside is sunny by saying the word “Sunny”). Insome embodiments, a user may use a stylus or other device to spell out aresponse on a touch screen on the camera. For example, a user may usethe Graffiti™ alphabet to spell out a textual response to a question.

[0455] Some embodiments of the present invention allow for a user tospeak a response to a question. Such a response may be recorded using amicrophone on the camera. The camera may then process the response usingvoice recognition software. For example, a user may indicate that he isat a “birthday party” and the weather is “raining.”

[0456] In another example, a user may use any of a plurality of inputdevices (e.g., buttons) on the camera to highlight a portion of an imagedisplayed (e.g., on the camera's color LCD display). For example, thecamera may ask a user to indicate where a subject's face is in an image.Based on the user's response, the camera and/or a server may determinethat this area of the image is properly exposed.

[0457] It will be readily understood that a user's response to aquestion may take a variety of different forms (e.g., depending on thetype of question). Some examples of forms of answers include, withoutlimitation:

[0458] (i) Yes/No (e.g., an answer to the question “Is this a picture ofAlice?”).

[0459] (ii) Open-ended. For example, a user may respond to the questionby speaking freely (e.g., by speaking “Alice” in response to a questionabout who is in a displayed image).

[0460] (iii) A selection from a plurality of choices. For example, auser may respond to the question, “Who is in this picture?” by selectingone of the offered choices: “a) Alice b) Bob c) both d) neither.”

[0461] (iv) Graphical response. For example, a user may highlight aportion of an image or point to an object in an image displayed on a LCDdisplay on a camera.

[0462] The camera may also receive or otherwise determine a defaultresponse from a user. For example, if a user does not respond to aquestion in a certain period of time, the camera may assume that theuser answered the question in a certain way (e.g., in accordance with adefault answer, as discussed herein). For example, the camera may ask auser the question “You're at a ski resort, aren't you?” If the user doesnot respond to this question within ten seconds, then the camera mayassume that the user answered “Yes” to this question.

[0463] According to some embodiments, a camera and/or server may verifya response from a user. Verifying a response may include outputting anindication of the response that the user provided, or asking the samequestion or a similar question. The camera may verify a response toensure that it did not misunderstand the user's response. For example, auser may respond “Yeah” or “Nah” to a Yes/No question, making itdifficult for the camera to use voice recognition software to determinethe user's response. In order to verify the user's response, the cameramay output an indication of the user's response by displaying thecamera's best guess as to the response (e.g., “Yes”) on the camera's LCDdisplay. In some embodiments, the camera may verify a response to ensurethat a user did not make a mistake in responding to a question. Forexample, the camera may output a second question to verify that a userdid not accidentally press the wrong button on the camera whenindicating his response (e.g., “Are you sure that this room hasfluorescent light bulbs?”).

[0464] The camera may verify a response to confirm that the userunderstands the ramifications of his response. For example, a user mayindicate that he only plans to capture five more images on the camera'scurrent memory card. Based on this, the camera may output a warning orreminder: “Are you sure that you only want to capture 5 more images? Ifyou capture 5 more images at high resolution, then the camera will beout of memory and will not be able to store any more images.” Accordingto some embodiments, the camera may verify a response by displaying animage to a user. For example, a user may respond to a question byindicating that he is at a beach. Based on this, the camera may displayan image to a user along with the message, “This is what the picturewould look like in Beach Mode. Is this correct?” The user may thenrespond to the verification by indicating whether the displayed image iscorrect.

[0465] In some cases a user may not respond to a question. For example,a user may ignore a question that is output by the camera. For instance,the camera may output a question when a user is busy with anotheractivity (e.g., capturing an important sequence of action shots at asporting event). Instead of responding to the question, the user mayignore the question. In another example, a user may not know that thecamera output a question. For instance, a user may not be looking at thecamera's LCD screen when a question is displayed on the LCD screen.Since the user does not know that the camera has output a question, hewill not know to respond to the question.

[0466] Determining that a user has not responded to a question mayinclude determining that a period of time has elapsed since the questionwas output. For example, if a user does not respond within twentyseconds of when a question is output, then the camera may determine thatthe user has not responded. The camera may then perform an action (e.g.,output the question again). In some embodiments, determining that a userhas not responded to a question may comprise determining that acondition has occurred (e.g., a user presses a button on the camera, thecamera is held motionless for a period of time, a user provides aresponse to a different question). For example, the camera may stopdisplaying a question when a user captures an image.

[0467] If a user does not respond to a question output by the camera,then the camera take one or more of the following actions:

[0468] (i) Continue outputting the question. For example, the camera maydisplay a question on an LCD screen until the user responds to thequestion.

[0469] (ii) Stop outputting the question. For example, the camera maydisplay a question on an LCD screen until either (a) a user responds tothe question, or (b) thirty seconds have elapsed.

[0470] (iii) Output the question again. For example, the camera mayoutput an audio recording of a question. If a user does not respond,then the camera may output the question again (perhaps in a differentform).

[0471] (iv) Assume a default response to the question. For example, thecamera may output a question to a user, “You're taking a picture of asunset, aren't you?” If the user does not respond, the camera may assumethat the answer to the question is “Yes” (e.g., based on a determineddefault answer) and perform an appropriate action based on this defaultresponse.

[0472] (v) Output a different question. For example, the camera may aska user a first question, “Are you at the beach?” If the user does notrespond to the question, then the camera may ask the user a secondquestion (e.g., based on the same image), “Are you at a ski resort?”

[0473] It will be understood that some times a user may provide aresponse that does not answer a question. For example, a user mayindicate that he does not want to answer a question. Accordingly, a usermay press a “Cancel Question” button on the camera. In a second example,a user may use a control on the camera to put the camera in “Do NotDisturb” mode, thereby canceling the current question and any futurequestions. According to some embodiments, a user may indicate that hewould prefer to answer a question at a later time. For example, thecamera may have a “snooze button” that allows a user to indicate thatthe camera should stop outputting a question and then output thequestion again when a condition occurs (e.g., a period of time haselapsed, an output condition occurs).

[0474] In at least one embodiment, a user may indicate whether aquestion is inappropriate or unhelpful. For example, the camera may havea “thumbs down” button or a “stupid question” button that a user maypress when the camera outputs a question that the user determines is notworth answering. This may be particularly useful if the camera tends tomake mistakes when determining questions to output to users. Forexample, a user may capture a plurality of images indoors and then moveoutdoors to capture more images. Based on the plurality of imagescaptured indoors, the camera may ask the user, “What kind of lightingdoes this room have?” Since the user is currently outdoors, thisquestion is inappropriate, so the user may press the “thumbs down”button to indicate that the camera should discard the question aboutlighting as being irrelevant to the current situation. Similarly, thecamera may have a “reset questions” button that allows a user toindicate that the camera should restart its line of questioning.

[0475] In accordance with one or more embodiments of the presentinvention, if a user does not respond to a question or a user provides aresponse that does not answer the question, then the camera may outputthe question again. The second output of the question may be similar toor different from the first output of the question. A question may beoutput a second time based on a different output condition. For example,a question may be output when a user presses the shutter button halfwaydown (an output condition). If a user does not respond to this output ofthe question, then the camera may output the question again in fifteenseconds (a second output condition).

[0476] In some embodiments, a question may be output a second time basedon the same output condition. For example, a question may be outputthirty seconds after a user operates the camera (an output condition).If the user does not respond to this first output of the question, thenthe camera may output the question a second time in response to a secondoccurrence of the output condition. That is, the camera may wait untilthe user operates the camera again, and then output the question thirtyseconds after the user stops operating the camera.

[0477] Of course, a question may be output in the same manner as it waspreviously output. For example, a question may be output a first time asan audio prompt. If a user does not respond to the question, then thecamera may repeat the audio prompt. In another embodiment, a questionmay be output in a manner that is different from the one that waspreviously used for the question. For example, a question may be outputa first time as text displayed on the camera's LCD screen. If a userdoes not respond, then the camera may output the question as holographictext overlaid on the camera's optical viewfinder.

[0478] Some embodiments allow for a question to be output with orwithout additional information. For example, a question may be output afirst time as “Are you taking a picture of a sunset?” If a user does notrespond to this first output of the question, then the camera may outputthe question again, this time providing additional information: “Are youtaking a picture of a sunset? If so, then let me know now—otherwise yourpicture will be underexposed.”

[0479] The camera may store an indication of a user's response to aquestion. For example, the camera may store an indication of a responsein a response database such as the one shown in FIGS. 12A and 12B.

[0480] Storing an indication of a user's response to a question may behelpful in a variety of different circumstances, including someexemplary scenarios described herein. Other uses of one or more storedindications of a user's response(s) will be readily apparent to thoseskilled in the art in light of the present disclosure.

[0481] A stored indication of a response may be useful in performing anaction based on multiple responses. For example, the camera may ask auser a plurality of questions and receive a plurality of responses fromthe user. The camera may then perform an action (e.g., adjust a setting,meta-tag an image, guide a user in operating the camera) based on theplurality of responses. For example, a user may indicate in a firstresponse that he is capturing a picture of at a ski resort, and thisfirst response may be stored in a database (such as the responsedatabase). Later, in a second response, the user may indicate that theweather is cloudy. Based on these two responses, the camera may adjustthe settings on the camera to appropriate values for capturing images ata ski resort during cloudy weather.

[0482] Indications of responses may be beneficial in determining futurequestions to ask a user. For example, the camera may ask a user a firstquestion (e.g., “Are you indoors or outdoors?”). The user may thenrespond to this question (e.g., “Indoors”) and the camera may store thisresponse. Based on the stored response, the camera may ask the user asecond question (e.g., “What kind of lightbulbs does this room have?”).

[0483] Storing an indication of a user's response may assist a computingdevice (e.g., a camera, a server) in avoiding repeating questions orasking unnecessary questions. For example, the camera may avoid asking auser the same question twice in close succession by checking to see ifthe user has already answered the question recently. If the user hasanswered the question recently, then the camera may assume that theuser's answer is unchanged. For example, the camera may ask user if heis on a beach and store the user's response (e.g., “Yes”). Ten minuteslater, the camera may refrain from again asking the user if he is on abeach and instead assume that the answer from ten minutes before isstill valid and that the user is still on the beach. In at least oneembodiment, as discussed further herein, information provided by a usermay expire after a certain period of time or based on some othercondition. For example, a camera may store an indication of a user'sresponse in an expiring information database, such as the one depictedin FIG. 14.

[0484] A camera and/or a server may perform various actions based on aresponse from a user, including one or more of: meta-tagging an image,adjusting a setting, guiding a user in operating a camera, outputting asecond question, and determining a template.

[0485] A computer server may assist the camera in processing a user'sresponse to a question. Examples include, without limitation:

[0486] (i) The camera may receive a user's response to a question andtransmit an indication of this response to the computer server. Thecomputer server may then process this response (e.g., using voicerecognition software) to determine an appropriate action based on theresponse (e.g., adjusting a setting on the camera). An indication of theaction may then be transmitted to the camera and performed by thecamera.

[0487] (ii) The computer server may transmit instructions to the cameradescribing how to process a response by a user. For example, in additionto transmitting an indication of a question to the camera (as describedabove), the computer server may transmit one or more sets ofinstructions describing how to process a user's potential responses tothe question. For example, the computer server may indicate that if theuser responds “Yes” to a question, then the camera should put the flashin slow-syncro mode; if the user responds “No” to the question, then thecamera should ask the user whether he is outdoors. Note thatinstructions may be transmitted to a camera in a variety of differentforms, including a computer program (e.g., in C or Java), script (e.g.,in Javascript or VSscript), or machine code (e.g., x86 assembly).

[0488] Meta-tagging may be used herein to refer generally to a processof associating supplementary information with an image (e.g., that iscaptured by a camera or by some other imaging device). The supplementaryinformation associated with an image may be referred to as meta-data,meta-information, or a meta-tag. Some examples of meta-data include,without limitation:

[0489] (i) A time and date when an image was captured (e.g., Oct. 10,2002)

[0490] (ii) A location where an image was captured (e.g., latitude andlongitude coordinates obtained from a GPS sensor, an indication of acity, state, park, or other region provided by a user, an altitudedetermined using an altimeter). For example, a user may indicate that animage was captured in the SoHo area of New York City.

[0491] (iii) An orientation of the camera when an image was captured(e.g., determined using tilt sensor or an electronic compass)

[0492] (iv) One or more subjects of an image (e.g., people, objects,locations, animals, etc.). Note that a subject may be uniquelyidentified (e.g., “Alice Jones,” “Grand Canyon”) and/or categorized(e.g., “a squirrel,” “national park”).

[0493] (v) A scene in an image (e.g., a rainbow next to a waterfall, agroup of friends at a restaurant, a baby and a dog, a family portrait, areflection in a mirror)

[0494] (vi) Motion relating to an image (e.g., movement of a subject,movement of the camera)

[0495] (vii) The environment in which an image was captured (e.g.,weather conditions, sunlight, altitude, temperature)

[0496] (viii) Lighting (e.g., daylight/ a tungsten light bulb, aflorescent light bulb, flash intensity, locations of light sources)

[0497] (ix) One or more settings on the camera (e.g., aperture, shutterspeed, flash, mode). For example, meta-data associated with an image mayindicate that the image was captured at f/2.8 with a CCD sensitivity of100 ISO and a shutter speed of {fraction (1/250)} sec.

[0498] (x) Information about how an image was captured. For example, animage may be meta-tagged as being part of an auto-bracketed group.

[0499] (xi) Information about a user (e.g., the user's name,preferences, priorities)

[0500] (xii) Preferred cropping or scale. For example, meta-dataassociated with an image may indicate what portion of the image shouldbe printed and/or how large the image should be printed.

[0501] (xiii) A category for an image. For example, an image may becategorized based on its intended usage (e.g., part of a slide show),based on its subject (e.g., images of Alice), and/or based on how orwhen it was captured (e.g., captured during a ski trip on Dec. 7, 2002).

[0502] (xiv) A user's intentions (or other notes from a user). Forexample, a user may indicate, “I'm trying to get a picture of the babywith its eyes open” or, “I want to capture the reflection of themountain in the water of the lake” or, “Getting the exposure right forthe subject's face is most important; I don't care whether thebackground is in focus.”

[0503] (xv) An audio clip. For example, the camera may record a tensecond audio clip when capturing an image and stored this audio clip asmeta-data associated with the image.

[0504] (xvi) Acceptable to delete. For example, in his response toquestion a user may indicate to the camera that it is acceptable todelete one or more images from the camera's memory in order to make roomfor images that may be captured in the future. Based on this response,the camera may meta-tag one or more images for “deletion,” meaning thatthese images may be deleted if the camera begins to run out of memory.

[0505] (xvii) Protection. For example, the camera may meta-tag one ormore images as being “protected,” meaning that these images should notbe deleted or altered in any way. The “protected” meta-tag may behelpful in ensuring that the user or the camera does not inadvertentlydelete one of the protected images.

[0506] (xviii) A rating. For example, the camera may determine a ratingof an image and store this rating with the image. A rating may be anindication of the quality of the image and may be based one a variety ofdifferent factors, including: exposure, sharpness, composition, subject,and indications from a user. Ratings may be helpful in allowing thecamera to sort images.

[0507] Note that meta-data that is associated with an image may bedetermined based on one or more responses indicated by a user. Forexample, a user may indicate in a first response that he is in Maui. Ina second response, the user may indicate that he is at the beach. Basedon these two responses, the camera may meta-tag an image as being taken“On the beach in Maui.”

[0508] According to various embodiments of the present invention, acamera may meta-tag an image based on a user's response to a question.For example, a server may transmit to a camera a signal indicating thata recorded image is most likely of Alice (e.g., based on an imagerecognition program). The camera may then ask a user to verify that theimage is of Alice. If the user indicates that the image is of Alice,then the camera may meta-tag the image as “Subject of Image: Alice.” Inanother example, if a user indicates that an image shows “Alice and Bobin Yosemite,” then the camera may meta-tag the image as “Subjects:Alice, Bob//Location: Yosemite National Park.”

[0509] In another example, an image database may be used by a server 110in performing an image recognition process on a captured image.According to some embodiments of the present invention, if therecognition process matches a stored image (e.g., “YOSEMITE-08”) to anew image, the server 110 may suggest some or all of the meta-data 830associated with the stored image to a user (e.g., by transmitting anindication of the meta-data 830 to the camera 130). The user may thenconveniently agree (e.g., by pressing an “Ok” button) to have thesuggested meta-data associated with the new image. In this manner, auser may avoid some of the tedium of creating meta-tags.

[0510] Further, any new images may be stored in the image database andthus may be made available to an image recognition process. In this way,an image recognition process and/or a process for meta-tagging imagesmay be refined or customized in accordance with the storedmeta-information associated with a particular user's images. Forexample, a first user may have captured an image of a particular scene,associated meta-data including the description “Grand Canyon” with theimage, and stored the image on his personal computer. A second user mayhave captured and stored a very similar (or identical) image, butassociated with the image (e.g., as meta-data 830) the description,“Arizona, Grand Canyon, March 1999.” If the first user transmits asecond image similar to the stored image to his personal computer (e.g.,from the camera 130 via communications network 120) for imagerecognition, the computer may identify the same scene or subject basedon the stored image, and suggest “Grand Canyon” to the first user. Thesecond user's server 110, however, might suggest, for example, one ormore of “Arizona,” “Grand Canyon,” and “March 1999” for the same secondimage. Thus, an image database may be useful in accordance with someembodiments of the present invention for generating and/or suggestingpersonalized meta-information for a particular user (or group of users).

[0511] A plurality of images may be meta-tagged based on at least oneresponse from a user. For example, a user may indicate that he is at thebeach. Base on this, all images captured by the camera may bemeta-tagged as being captured “At the Beach.” In another example, a usermay indicate in a response to a question that Alice is the only blondewoman who he has captured any images of today. Based on this, the cameramay automatically meta-tag all images of blonde women taken today asbeing images of Alice.

[0512] It will be readily understood by those skilled in the art that avariety of different forms of meta-data are possible, including, withoutlimitation: text (e.g., a current date, a GPS location, the name of asubject, a current lighting condition), audio (e.g., an audio recordingof a user's response to a question), images (e.g., a user's response maybe a highlighted portion of an image), binary or other machine-readableformats (e.g., a 100 bytes of information at the start of an imagefile), and any combination thereof.

[0513] Meta-data may also be stored in a variety of different ways. Forexample, meta-data may be stored in a file that is separate from animage file to which it pertains. For example, a “BOB23.TXT” file maystore meta-data that pertains to a “BOB23.JPG” image that is stored bythe camera. In some embodiments, meta-data may be stored in an imagefile. For example, the start of an image file may include a plurality ofmeta-tags that provide information based on a user's responses to one ormore questions. In one or more embodiments, a single meta-data file maystore information for a plurality of images. For example, the camera maystore a response database that includes meta-data for a plurality ofimages (see below for further details). According to some embodiments ofthe present invention, a camera may store an audio clip of the user'sresponse to a question and associate this audio clip with an image asmeta-data. In another exemplary embodiment, a camera may set the filename of an image based on a user's response to a question. For instance,if a user indicates that an images is of Alice, then the camera maystore this image with the filename “ALICE-01.JPG.”

[0514] A wide variety of methods of meta-tagging an image and ofdifferent types of meta-data are known to those skilled in the art andneed not be described in further detail herein. For additionalreference, the reader may refer to U.S. Pat. No. 6,408,301 to Patton, etal., entitled “Interactive image storage, indexing and retrievalsystem”; U.S. Pat. No. 5,633,678 to Parulski et al., entitled“Electronic still camera for capturing and categorizing images”; andU.S. patent application No. 20010012062 by Anderson et al., entitled“System and method for automatic analysis and categorization of imagesin an electronic imaging device.”

[0515] The response database shown in FIG. 7 and the image databaseshown in FIG. 8 depict a few examples of a camera meta-tagging an imagebased on a user's response to a question. For instance, the image“WEDDING-02” was meta-tagged as including “Alice” and “Bob” (e.g., basedon a user's response to question “QUES-123478-03”). The exemplary images“BEACHTRIP-05” and “BEACHTRIP-06” were meta-tagged as images of a beach(e.g., based on a user's response to “QUES-123478-06”).

[0516] Referring to FIG. 17, a flowchart illustrates a process 1700 thatis consistent with one or more embodiments of the present invention. Theprocess 1700 is a method for determining a question based on informationdetermined based on an image recognition process performed by a server.For illustrative purposes only, the process 1700 is described as beingperformed by a camera 130 in communication with a server 110. Of course,the process 1700 may be performed by any type of imaging device 210 incommunication with a computing 220.

[0517] In step 1705, the camera 130 captures an image. In step 1710, thecamera 130 transmits the image to the server 110 for image recognitionprocessing. For example, as discussed herein, the server 110 may comparethe captured image to a database of images stored for the user in adatabase. In step 1715 the camera receives information determined by theserver 110 based on the image recognition process. For example, theserver 110 may have matched the captured image to a stored image,retrieved the meta-information associated with the stored image, andforwarded the meta-information to the camera 130. In another example,the server 110 may have been unable to identify a match and may havetransmitted a signal to the camera 130 directing the camera 130 to askthe user if the user would like to apply the same camera settings in thefuture to any similar images.

[0518] In step 1720, the camera 130 determines a question based on theinformation from the server. For example, the camera may generate aquestion asking if the user would like to associate meta-informationreceived from the server 110 with the newly-captured image. The questionis output to the user in step 1725. In step 1730 the camera 130 receivesa response from the user and the camera performs an action based on theresponse (step 1735). For example, the camera may associate meta-datawith the captured image based on the response.

[0519] Referring to FIG. 18, a flowchart illustrates a process 1800 thatis consistent with one or more embodiments of the present invention. Theprocess 1800 is a method for determining meta-information. Forillustrative purposes only, the process 1800 is described as beingperformed by a server 110 in communication with a camera 130. Of course,the process 1800 may be performed by any type of imaging device 210 incommunication with a computing 220.

[0520] In step 1805, the server 110 receives an image captured by a userof a camera 130. In step 1810, the server 110 determines at least one ofa plurality of images meta-tagged by the user. For example, the server110 may access the user's personal images database that contains imagespreviously meta-tagged by the user. In step 1815, the server 110determines meta-information to suggest to the user based on the capturedimage and the at least one image meta-tagged by the user. For example,using an image recognition program, the server 110 identifies one ormore matches for the captured image in the user's database of images andretrieves some or all of the meta-information associated with thosematching images.

[0521] In step 1820, the server 110 transmits an indication of themeta-information to be suggested to the user. In an optional step 1830,the server 110 receives an indication from the camera 130 ofmeta-information associated with the captured image by the user. Forexample, the camera 130 may transmit a signal indicating that the userhas accepted the suggested meta-information, or, alternatively, maytransmit a signal indicating other meta-information the user has decidedto associate with the image (e.g., the user may have rejected all orsome of the suggested information and may have provided othersupplemental information).

[0522] According to various embodiments of the present invention, acamera may automatically adjust one or more of its settings based on aresponse from a user and/or based on a signal from a server. Forexample, if a user indicates in his response to a question that theweather is sunny, then the camera may adjust the aperture on the camerato be V5.6 and the shutter speed to be {fraction (1/250)} sec. Variousdifferent types of settings on the camera are described in detailherein, and others will be readily understood by those skilled in theart. Some examples of settings on the camera include, withoutlimitation: exposure settings, lens settings, digitization settings,flash settings, multi-frame settings, power settings, output settings,function settings, and modes. Adjusting a setting may include, withoutlimitation, one or more of: turning a setting on or off, increasing thevalue of a setting, decreasing the value of a setting, modifying asetting, changing a setting, revising a setting, and setting the camerato capture an image in a particular manner.

[0523] The following are only some examples of how one or more settingsmay be adjusted based on a user's response to a question in accordancewith one or more embodiments of the present invention. Each exemplaryscenario comprises an exemplary question asked by a camera, a responsefrom a user, and action(s) performed by the camera:

[0524] (i) Question asked by camera: “Is this photo too dark?”

[0525] Response from user: “Yes”

[0526] Action: Increase the aperture on the camera.

[0527] (ii) Question asked by camera: “Are you taking pictures of asporting event?”

[0528] Response from user: “Yes”

[0529] Action: Put camera in burst mode to take 3 pictures every timethe shutter button is pressed and increase the shutter speed to that itis faster than {fraction (1/250)} sec.

[0530] (iii) Question asked by camera: “What are the current weatherconditions?”

[0531] Response from user: “Cloudy and Overcast”

[0532] Action: Adjust white balance (color temperature) on camera to6000 K.

[0533] (iv) Question asked by camera: “How far away is the wall behindyour subject?”

[0534] Response from user: “About 10 ft”

[0535] Action: Adjust flash timing and shutter speed for slow synchro.

[0536] (v) Question asked by camera: “Which is more important to you,taking more pictures or getting higher resolution pictures?”

[0537] Response from user: “Taking more pictures”

[0538] Action: Set JPG compression to “medium quality” and resolution to“regular.”

[0539] (vi) Question asked by camera: “Do you want the building behindyour subject to be in focus?”

[0540] Response from user: “Yes”

[0541] Action: Set aperture on camera to f/8 (or less). Adjust shutterspeed or film speed accordingly.

[0542] (vii) Question asked by camera: “Are we at a ski resort?”

[0543] Response from user: “Yes”

[0544] Action: Adjust white balance and exposure metering for subjectson bright white backgrounds.

[0545] (viii) Question asked by camera: “Are you taking a group photo?”

[0546] Response from user: “Yes”

[0547] Action: Crop the image to include everybody in the group.

[0548] (ix) Question asked by camera: “Are you on a boat?”

[0549] Response from user: “Yes”

[0550] Action: Adjust image stabilization setting to “high.”

[0551] According to some embodiments, a camera may adjust a setting forone or more images. For example, the camera may output a question to auser, “Is this a group photo?” If the user responds “Yes” to thequestion, then the camera may adjust one or more settings and enable theuser to capture one image based on these settings. After capturing theimage of the group of people, the camera may revert to its originalsettings, for example, or determine one or more new settings forcapturing images in the future. In some embodiments, settings may beadjusted for a plurality of images. For example, the camera may output aquestion to a user, “Are we at the beach?” If the user responds “Yes” tothe question, then the camera may put the camera in “Beach” mode for theremainder of the user's image-capturing session. The camera may remainin “Beach” mode until the user turns the camera off or until the userbegins capturing images of a different scene.

[0552] An adjustment to a setting may persist until a condition occurs.Various examples of conditions are described herein, and others may bereadily apparent to one skilled in the art in light of the presentdisclosure.

[0553] A camera may not immediately adjust a setting based on a user'sresponse to a question. For example, a camera may ask the user aplurality of questions and then adjust at least one setting based on theuser's responses to the plurality of questions. In a second example, thecamera may not adjust a setting based on a first question until after auser has answered a second, related question.

[0554] According to some embodiments, the camera may indicate to a useran adjustment made to a setting. For example, a user may respond to aquestion by indicating that he is at the beach. Based on this, thecamera may increase the color saturation setting on the camera by 5%. Inaddition, the camera may output a message to the user “Increasing colorsaturation 5%.”

[0555] Indicating an adjustment to a setting may be helpful for avariety of reasons, such as by assuring the user that the camera is infact making use of his responses to questions. For example, even if auser does not understand what adjustment the camera is making, he mayfind it comforting to be informed that the camera is making use of hisresponses to questions. If a user were to feel that his responses toquestions were being ignored by the camera, then he might ignore futurequestions that are output by the camera.

[0556] Indication of an adjustment may be helpful to the user inverifying that the camera has not misunderstood or misinterpreted auser's response to a question. For example, a user may respond to aquestion by indicating that he is at a football game. Based on thisindication and the current time of day (e.g., 2 p.m.) the camera mayassume that the game is being illuminated by sunlight. However, in fact,this may not be the case (e.g., the football game may be played in adomed stadium). When the camera indicates that it is “Adjusting thecamera for sports during daylight conditions,” the user may notice thismistake and correct the camera by indicating that the football game isin fact illuminated by halogen light bulbs. Informing the user of anyadjustments that are made to the camera may also help the user incomposing a shot or in making further adjustments to the camera'ssettings. For example, informing the user that the “flash brightness hasbeen set for subjects 10-12 feet away” may be helpful to a user if theuser decides to move or recompose an image.

[0557] Instead of automatically making an adjustment, a camera may askfor a user's permission before making an adjustment to a setting. If theuser indicates that it is acceptable to adjust the setting on thecamera, then the camera may adjust the setting. If the user indicatesthat he would rather not adjust the setting on the camera, then thecamera may not adjust the setting. For example, based on a user'sresponse, the camera may determine that the camera's flash should beturned on. Before turning on the flash, the camera may output a messageto the user, “I'm about to turn on the flash. Is this okay?” If the userresponds “Yes,” then the camera may turn the flash on. In anotherexample, the camera may determine that a user is capturing an image of asunset based on the user's responses to one or more questions. Based onthis, the camera may output a question to the user, “Would you like toput the camera into Sunset Mode? Sunset Mode is specially designed tomake sure that pictures of sunsets are exposed correctly.” The user maythen press a “Yes” button on the camera to indicate that he would liketo put the camera into “Sunset” mode.

[0558] Asking for a user's permission to adjust a setting on the cameramay be similar to providing advice to a user about adjusting a setting.Various ways of providing advice to a user based on the user's responseto a question are discussed herein.

[0559] The camera may implement one or more rules based on a user'sresponse to a question. A rule may be a guideline or other indicationthat may be used to determine a setting on the camera. Implementing arule may include one or more of: storing an indication of a rule inmemory, automatically adjusting a setting of the camera based on a rule,and restricting operation of the camera based on a rule.

[0560] In one example of implementing a rule, a user may respond to aquestion by indicating that he is capturing images of a child's birthdayparty. Based on this, the camera may store a rule that requires that thecamera maintain shutter speed of at least {fraction (1/125)} sec(because children at a birthday party tend to move quickly), except whenthe camera determines that an image includes a birthday cake withcandles, in which case the camera should set the aperture to be a largeas possible and not use a flash. An indication of a rule may be stored,for example, in a rules database (not shown) or a settings database suchas the one depicted in FIG. 7.

[0561] In another example of use of a rule, a rule may be a requiredrelationship between one or more settings. For example, based on auser's indication that he is taking pictures at the beach, the cameramay ensure that the subject of an image is always correctly exposed,even if the background of the image is overexposed. In a relatedexample, the camera may use an automatic neutral density feature toautomatically vary the exposure of the subject relative to the exposureof the background. In another example, a user may respond to a questionby indicating that he is capturing images at a zoo. Based on this, thecamera may implement a rule that, if the user is outdoors, the camera'saperture should be smaller than f/8 (to ensure good depth of field). Ifthe user is indoors, a rule may establish that the camera shouldincrease the CCD sensitivity as much as possible and never use a flash(to avoid frightening the animals).

[0562] According to some embodiments, a rule may indicate how a settingon the camera should be adjusted. For example, based on an indicationfrom a user that Alice is standing in front of a tree, the camera mayimplement a rule to shift the hue of an image by +5% anytime the camerais used to capture an image of Alice wearing her green jacket (e.g., toavoid having Alice's green jacket blend into the background. In anotherexample, a user may respond to a question by indicating that he is at aski resort. Based on this, the camera may implement a rule that until 5p.m. that day, all images captured by the camera should be meta-taggedas being “skiing/snowboarding” images. In yet another example, thecamera may automatically adjust the white balance setting to 7000K basedon an indication by a user.

[0563] According to one or more embodiments, a rule may indicate how oneor more images of a subject should be captured. For example, the cameramay store a rule that all images of Alice should be taken from the leftside, since Alice has a birthmark on her right arm that she prefers tohave hidden in images of her. Based on the rule, the camera may preventthe capturing of an image of Alice's right side and/or may prompt theuser to verify that he wishes to take a picture of Alice's right side.

[0564] According to some embodiments, a rule may prevent the camera fromperforming one or more operations, such as using a flash while the useris capturing images of a sporting event.

[0565] The exemplary response database shown in FIGS. 12A and 12B showsa few examples of how a camera may adjust a setting based on a user'sresponse to a question. For example, the camera adjusted its settings to“Fluorescent Light” mode based on a user responding “Fluorescent” toquestion “QUES-123478-02.” In another exemplary adjustment, the cameraadjusted the white balance setting to “5200 K” based on a userresponding “Sunny” to question “QUES-123478-05.” In another exemplaryadjustment based on a response, the camera adjusted the image sizesetting to “1600×1200” and the image compression setting to “Fine” basedon a user responding “15” to question “QUES-123478-07.”

[0566] In accordance with various embodiments of the present invention,a camera may guide a user in operating the camera based on one or moreresponses from the user. Guiding a user may include, without limitation,one or more of: recommending that a user adjust a setting, prompting auser to adjust a setting, guiding a user in composing a shot, andoutputting a message that guides a user in operating the camera.

[0567] Recommending an adjustment to a setting may include, withoutlimitation, one or more of: outputting an indication that an adjustmentto a setting is recommended, outputting a message describing anadjustment to a setting, outputting an indication of a setting to beadjusted, and outputting an indication of a value of a setting (e.g., acurrent value, a recommended value). Some different types of settings onthe camera are described in detail herein, as are some exemplary typesof adjustments that may be made to settings.

[0568] According to some embodiments, the camera may guide a user byrecommending an adjustment to at least one setting based on at least oneresponse from the user. For example, the camera may recommend that auser increase his shutter speed to at least {fraction (1/250)} of asecond when taking sports pictures. Response database in FIG. 7 alsoshows an example of outputting a recommendation of a setting to a userbased on the user's response to a question. Based on the user's response“Yes” to “QUES-123478-09” at 4:11 p.m. on Aug. 17, 2002, the cameraadvised the user to adjust the camera's shutter speed to be faster than{fraction (1/250)} of a second.

[0569] As discussed herein, in accordance with some embodiments, thecamera may actually change a setting on the camera based on a user'sresponse to a question. In contrast, recommending that a user adjust asetting may include simply outputting a message describing a potentialadjustment to a setting, leaving it up to the user to actually adjustthe setting. For example, a camera may output a message to a user, “Isuggest that you use a smaller aperture to ensure that both theforeground and the background of your photo are in focus. An aperture off/8 or smaller would be good for this photo.” The user may or may notmake the suggested adjustment. In another example, the camera may outputa message to a user, “If you're taking pictures of animals in the wild,then you should probably put the camera in ‘Wildlife’ mode.”

[0570] According to some embodiments, an output device may be used tooutput an indication of a suggestion of a setting adjustment. Forexample, a warning LED in the camera's viewfinder may blink to indicateto a user that an image the user is about to capture may be underexposed(e.g., suggesting an adjustment should be made). Note that thisrecommendation (i.e., the blinking LED) may simply suggest that a usermake an adjustment to a setting without indicating any specificadjustment to make. In at least one embodiment, a camera may output amessage describing a setting that should not be used. For example, ifthe camera's flash is currently enabled and the user indicates that heis capturing an image of a mirror, then the camera may output a messageto the user, “It is not advisable to use a flash when capturing an imageof a mirror. The flash could reflect off the mirror back at the camera,causing the image to be over exposed.”

[0571] According to some embodiments, a camera may prompt a user toadjust a setting based on at least one response from the user. Promptinga user to adjust a question may include outputting a question to a userasking him if he would like to adjust a setting. For example, a cameramay output a message to a user, “Since you're taking pictures at a skislope, you should probably turn on the camera's Auto-Neutral Densityfeature.” Note that in this example, it is left to the user to determinewhether he would like to turn on the Auto-Neutral Density feature andoperate the controls of the camera to enable the feature. In anotherexample, a user may respond to a question by indicating that he is in aroom with fluorescent lights. Based on this response, the camera mayoutput a message to the user, “Would you like to put the camera in“Fluorescent Light” mode? This mode is specifically designed for roomswith fluorescent lights and will help to ensure that your images areexposed correctly.” If the user responds “Yes” to this question, thenthe camera may be adjusted to “Fluorescent Light” mode.

[0572] A camera may assist a user in adjusting a setting (e.g., withoutthe camera actually performing the adjustment of the setting). Forexample, a camera may output a message to a user, “Since you're on asunny beach, you should probably put me in ‘Sunny Beach’ mode. Press‘Ok’ to put the camera in ‘Sunny Beach’ mode.” Note that in thisexample, the camera has adjusted its controls to simplify for the userthe process of putting the camera in “Sunny Beach” mode. For instance,instead of selecting “Sunny Beach” mode (e.g., from a menu of modes onthe camera), all the user has to do is press the “OK” button on thecamera's touch screen.

[0573] In another example, a camera may output a message: “You may wantto adjust the white balance setting on the camera based on the color oflight emitted by the light bulb in this room. Press the ‘up’ and ‘down’buttons to adjust the white balance.” In this example, the camera hassimplified the process of adjusting the white balance on the camera byautomatically enabling the “up” and “down” buttons on the camera tocontrol the white balance.

[0574] According to some embodiments of the present invention, a cameraand/or a server may guide a user in composing a shot based on at leastone response from the user. Various types of software and/or hardwareuseful in assisting a user in composing a shot are known to thoseskilled in the art, including systems described in U.S. Pat. No.5,831,670 to Suzuki, entitled “Camera capable of issuing compositioninformation”; U.S. Pat. No. 5,266,985 to Takagi, entitled “Camera withoptimum composition determinator”; U.S. Pat. No. 6,094,215 to Sundahl etal., entitled “Method of determining relative camera orientationposition to create 3-D visual images”; and U.S. Pat. No. 5,687,408 toPark, entitled “Camera and method for displaying picture compositionpoint guides.”

[0575] According to some embodiments of the present invention, a cameramay determine an optimum framing for a scene (e.g., with a subjectslightly off center and an interesting tree in the background). Based onthis determined framing, the camera may provide instructions to a useron how to aim the camera to obtain this framing. For example, the cameramay output audio instructions to the use, such as, “Pan the camera alittle more to the left . . . Okay, that's good. Now zoom in a littlebit . . . Whoops, that's too much . . . Okay, that's good. Now you'reset to take the picture.”

[0576] In some embodiments of the present invention, a camera mayinclude a mechanism that allows the camera to aim itself. For example, auser of the camera may be asked to hold the camera steady, and then thecamera may adjust a mirror, lens, light sensor, and/or other opticaldevice(s) so as to capture an image at a certain angle from the camera.For example, the camera may rotate a mirror five degrees to the left tocapture an image that is to the left of where a user is aiming thecamera.

[0577] According to one or more embodiments, the camera may beconfigured so as to be manipulated remotely (e.g., by a server). Forinstance, a server may be able to view a representation of the camera'sviewpoint over a network connection. The server may instruct a user tohold the camera steady (e.g., via the camera's LCD display) (or directthe camera to provide such an instruction), and then the server mayadjust remotely the camera's mirror to obtain an optimal framing of apicture.

[0578] The camera may provide directions to one or more subjects of aimage. For example, a user may be capturing an image of a group offriends at a restaurant. Based on the user's response to a questionand/or based on image recognition (e.g., performed by the camera and/ora server), the camera may provide directions relating to the group, suchas, without limitation: “Everybody needs to get closer together”; “TellAlice to take a step back”; and “Bobby is giving rabbit ears to Alice.”Similarly, a camera may output directions addressed to the group ratherthan the user (e.g., using an audio speaker).

[0579] In another example of providing composition assistance to a user,a camera's viewfinder may display a blinking arrow pointing to the leftto indicate to a user that he should pan left to capture the bestpossible image of a particular scene. In still another example, a usermay indicate that he is capturing an image through a glass window andwould like to use a flash. Based on this, the camera may provideinstructions to the user on how to compose the shot so as to avoidhaving the flash reflect off of the glass window.

[0580] As discussed variously herein, one or more questions may bedetermined based on a user's response to a previous question. Forexample, the camera may ask a user a first question: “Are you indoors oroutdoors?” If the user responds “Indoors” to this question, then thecamera may store this response and ask the user a second question basedon the response: “What kind of lightbulbs does this room have?”

[0581] Some additional examples of determining a second question basedon a first question are provided below. Each exemplary scenariodescribes at least one question output, a response by a user, and asubsequent question determined (e.g., by a camera, by a server) based onthe response to at least one previous question:

[0582] (i) First question output by camera: “Are we at the beach?”

[0583] User's response: “Yes”

[0584] Second question determined: “Are you taking pictures of thewater?”

[0585] (ii) First question output by camera: “Are you taking a pictureof a birthday cake or candles?”

[0586] User's response: “Yes”

[0587] Second question determined: “How many candles are there on thecake?”

[0588] (iii) First question output by camera: “Who are you taking apicture of?”

[0589] User's response: “Alice, Bob, and Carl”

[0590] Second question determined: “Is Bob currently wearing the sameshirt as he was in this picture?<display picture of Bob>”

[0591] (iv) First question output by camera: “Are we at the beach?”

[0592] User's response: “No.”

[0593] Second question output by camera: “Are we at a ski resort?”

[0594] User's response: “No”

[0595] Third question determined: “Are you trying to capture thesilhouette of an object?”

[0596] According to some embodiments, an entire series of questions maybe output based on a user's response to a question. For example, inresponse to a user indicating that he is indoors, the camera may ask theuser a number of questions about the lights of the room in order todetermine what kind of lights there are, where the lights are located,and what sort of lighting effect the user is hoping to achieve. Theuser's responses to these questions may then be used to determine one ormore settings for the camera, as discussed herein.

[0597] In one example, a computing device may use a decision tree todetermine one or more questions to ask a user. For example, a camera mayask a user a first question. If the user gives a first response to thefirst question (e.g., “Yes”), then the camera may ask the user a secondquestion (e.g., the question from the “Yes” branch of the decisiontree). If the user gives a second response to the first question (e.g.,“No”), then the camera may ask the user a third question (e.g., thequestion from the “No” branch of the decision tree). This process mayrepeat until the camera determines enough information to perform one ormore actions (e.g., adjust a setting, guide a user in operating thecamera).

[0598] As discussed variously herein, a user's response to a questionmay be a factor in determining a question to ask the user. For instance,a determination condition may be satisfied based on a user's response toone or more questions. For example, one determination condition may be:(location=“outdoors”) AND (image_recognition (beach_template)). Theinformation that a user is outdoors may have been received, for example,from a user as a response to a question. In another example, adetermination condition is: (location=“zoo”) AND (subject_ofimage=“animal”). The information that a user is at the zoo may have beendetermined based on a response to a first question, and the informationthat the user is capturing an image of an animal may be determined basedon a response to a second question.

[0599] Note that the determination condition database shown in FIG. 10includes a number of examples of the camera that describe determining aquestion based on a user's response to a previous question. In oneexample, if the camera is indoors (e.g., determined by asking“QUES-123478-01”) and the flash is turned off, then the camera maydetermine to output question “QUES-123478-02” (i.e., “What kind oflightbulbs does this room have?”) to a user. In another example, if auser answered “Alice” to “QUES-123478-03,” then the camera may output“QUES-123478-04” (i.e., “Please use the cursor to point to Alice in thispicture.”).

[0600] Some embodiments of the present invention may be advantageous inthat by asking a user a plurality of questions (e.g., a series ofrelated questions), a computing device (e.g., of a camera, a server) maydetermine enough information about a scene to perform one or more otheractions (e.g., adjusting a setting, meta-tagging an image, guiding auser in operating the camera).

[0601] As described herein, a camera, server or other computing devicemay use one or more templates to perform image recognition on capturedimages. For example, the camera may store a “beach template” that may beused to determine whether an image includes (and thus may have beencaptured on) a beach. As discussed herein, a wide variety of othertemplates are possible.

[0602] The camera may use information provided by a user (e.g., a user'sresponse to a question) to determine a template. The template may thenbe stored and used for processing images and/or for asking questions inthe future.

[0603] For example, a camera may output a question, “Who is the subjectof this image?” and a user may respond: “Alice.” Based on the user'sresponse and the image, the camera may create a template suitable forrecognizing images of Alice (e.g., an “Alice template”). At a latertime, the camera may use the “Alice template” to determine that Alice isin an image. A question may then be asked based on this determination(e.g., “Who is standing next to Alice in this picture?”).

[0604] In another example, a camera may display a plurality of images toa user and ask the user, “Were all of these images captured in agymnasium?” If the user responds “Yes” to the question, then the cameramay create a “gymnasium template” based on similarities among theplurality of images (e.g., the color of the fluorescent lighting, thecolor of the wood floor, etc.). If the user later returns to thegymnasium to capture more images, the camera may recognize that it is inthe gymnasium and ask the user a question based on this (e.g., “You'rein a gymnasium, aren't you?”).

[0605] In another example related to a template, a camera or server maystore a “group photo template” that may be used for recognizing imagesof groups of people and for adjusting the settings of the camera so asto best capture images of groups. However, some group photos may notmatch the group photo template. For example, an image of a group ofpeople in which people are lying down may not match the group phototemplate. Based on this, the camera may output a question to a user “Isthis a group photo?” If the user responds “Yes,” then the camera maydetermine a new group photo template and use this new group phototemplate to replace the old group photo template. Optionally, twotemplates may be retained (e.g., one being for group photos where thesubjects are lying down). In the future, the camera may recognize imagesof people lying down as group photos as well and ask appropriatequestions based on these photos.

[0606] It will be readily understood that a template may also bedetermined based on a variety of other factors (i.e., factors other thana user's response to a question). According to some embodiments, atemplate may be determined based on at least one image. For example, thecamera may capture a plurality of images at a ski resort and determine a“ski resort template” based on these images (e.g., based on similaritiesbetween the images). This “ski resort template” may be used to recognizeimages in which people are shown skiing or snowboarding on snow. Notethat snow provides a bright white background for such images, which maybe helpful in distinguishing images of people at a ski resort, forexample, from images of people engaged in other activities.

[0607] Some embodiments provide for determining a template based onother indications by a user. For example, a user may use buttons on theback of the camera to select a plurality of images that are stored inthe camera and may indicate that the camera should determine a templatebased on these images. For instance, the user may select a plurality ofimages captured at a dance party and ask the camera to create a “danceparty template” based on the selected images.

[0608] As discussed herein, in accordance with various embodiments ofthe present invention a camera or other imaging device may transfer oneor more images to a second device (e.g., a server). According to someembodiments, a camera may determine whether to transmit one or moreimages to a second electronic device. For example, the camera maydetermine whether it is running low on memory and therefore should freeup some memory by transmitting one or more images to a second electronicdevice and then deleting them. Such a determination may be based on avariety of factors, including, without limitation:

[0609] (i) an amount of available memory (e.g., an amount of memory onthe camera that is free, an amount of memory on the second device thatis free)

[0610] (ii) an amount of bandwidth (e.g., an amount of bandwidthavailable for transmitting images to the second device)

[0611] (iii) factors relating to capturing images

[0612] (iv) a user's preferences

[0613] (v) factors relating to images stored in memory

[0614] Similarly, according to some embodiments a camera may determinewhich images to transmit to a second device. For example, the camera mayfree up some memory by transmitting images of Alice to a secondelectronic device, but keep all images of Bob stored in the camera'ssecondary memory for viewing using the camera. Such a determination maybe based on a variety of factors, including, without limitation:

[0615] (i) the quality of at least one image (e.g., as measured by arating)

[0616] (ii) the compressibility of at least one image

[0617] (iii) image content (e.g., the subject of an image)

[0618] (iv) a user's preferences

[0619] (v) meta-data associated with at least one image (e.g., time,location, subject, associated images)

[0620] (vi) an amount of available memory (e.g., an amount of memory onthe camera that is free, an amount of memory on the second electronicdevice that is free)

[0621] (vii) an amount of bandwidth (e.g., an amount of bandwidthavailable for transmitting images to the second electronic device)

[0622] Because the bandwidth of a connection between the camera and asecond device may be limited, the camera may compress one or more imageswhen transmitting them to a second device. In addition, the camera maydetermine whether to compress an image when transmitting it to a seconddevice. For example, low quality images may be compressed before beingtransmitted to a second device, whereas high quality images may betransmitted at full resolution to the second device. Similarly, thecamera may determine how much to compress one or more images whentransmitting the one or more images to a second device. Determiningwhether to compress an image (and/or how much to compress the image) maybe based on a variety of factors, including, without limitation:

[0623] (i) an amount of available memory (e.g., an amount of memory onthe camera that is free, an amount of memory on the second electronicdevice that is free)

[0624] (ii) an amount of bandwidth (e.g., an amount of bandwidthavailable for transmitting images to the second electronic device)

[0625] (iii) the quality of at least one image (e.g., as measured by arating)

[0626] (iv) the compressibility of at least one image

[0627] (v) image content (e.g., the subject of an image)

[0628] (vi) a user's preferences (e.g., indications by a user)

[0629] (vii) meta-data associated with at least one image (e.g., time,location, subject, associated images)

[0630] (viii) other images

[0631] Note that in some embodiments a camera may delete or compress animage after transmitting it to a second electronic device, therebysaving memory. Since a copy of the image may be stored on the seconddevice (e.g., in a server database), there may be no danger of losing ordegrading the image by deleting or compressing it on the camera. Ofcourse, in some circumstances it may not be desirable to delete orcompress an image after transmitting the image to a second device. Forexample, a camera may transmit an image to a second electronic device inorder to create a backup copy of the image.

[0632] Capturing an image manually may include receiving an indicationfrom a user that an image should be captured. Some examples of receivingan indication from a user include, without limitation: a user pressing ashutter button on a camera, thereby manually capturing an image; a usersetting a self-timer on a camera, thereby indicating that the camerashould capture an image in fifteen seconds; a user holding down theshutter button on a camera, indicating that the camera should capture aseries of images (e.g., when taking pictures of a sporting event); auser putting a camera in a burst mode, in which the camera captures asequence of three images each time the user presses the shutter button;and a user putting a camera into an auto-bracketing mode, in which thecamera captures a series of images using different exposure settingseach time the user presses the shutter button on the camera.

[0633] As discussed herein, a camera or other imaging device may capturean image automatically and then determine a question to ask a user basedon that image. For example, the image database in FIG. 8 depicts anexample of an image “BEACHTRIP-04” that was captured automatically by acamera. It will be readily understood that capturing an image manuallymay involve receiving an indication from a user that an image should becaptured (e.g., by the user pressing a shutter button). In contrast,automatically capturing an image may not involve receiving any suchindication. For example, the camera may capture an image automaticallywithout the user ever pressing the shutter button on the camera. Incontrast to capturing an image manually, therefore, capturing an imageautomatically may include, without limitation, one or more of thefollowing:

[0634] (i) capturing an image without a user pressing the shutter buttonon the camera

[0635] (ii) capturing an image without an indication from a user

[0636] (iii) capturing an image without a direct indication from theuser

[0637] (iv) capturing an image without receiving an input from the user

[0638] (v) capturing an image without receiving an indication that theuser would like to capture the image

[0639] (vi) capturing an image without the user's knowledge

[0640] (vii) not providing an indication to a user that an image hasbeen captured

[0641] (viii) capturing an image without accessing information providedby the user

[0642] (ix) capturing an image based on a condition

[0643] (x) capturing an image based on a condition that was not set by auser

[0644] (xi) capturing an image while the camera is being held by a user

[0645] (xii) capturing an image independently of the user pressing theshutter button on the camera

[0646] (xiii) determining whether to capture an image

[0647] (xiv) determining whether to capture an image automatically

[0648] According to some embodiments of the present invention, a usermay or may not be aware that an image has been captured automatically.For example, the user's camera may not beep, display an image that hasbeen captured, or provide any other indication that it has captured animage, as is typically done by digital cameras that capture imagesmanually. Automatically capturing an image quietly and inconspicuouslymay help to prevent the camera from distracting a user who is in themidst of composing a shot. For example, a user may find it annoying ordistracting to have the camera automatically flash or beep when he isabout to capture an important image. In a second example, capturingimages without a user's knowledge may allow the camera to give the usera pleasant surprise at the end of the day when the user reviews hiscaptured images and finds that the camera captured sixty-eight imagesautomatically in addition to the nineteen images that he capturedmanually. In another example, a user may manually capture a plurality ofimages at a birthday party, but miss capturing an image of the birthdayboy opening one of the gifts. Fortunately, the camera may haveautomatically captured one or more images of this special event withoutthe user's knowledge.

[0649] In accordance with at least one embodiment of the presentinvention, a camera may capture an image automatically while a user iscomposing a shot. For example, a user may aim the camera at a subjectand begin to compose a shot (e.g., adjusting the zoom on the camera,etc.). While the user is still composing the shot (i.e., before the userpresses the shutter button on the camera to capture an image), thecamera may capture one or more images automatically. For example, thecamera may capture images of scenes that the user aims the camera at,even if the user does not press the shutter button on the camera.

[0650] In some embodiments, one or more images may be captured based ona condition. For convenience, such a condition may be referred to hereinas a capture condition. Capture conditions may be useful in triggeringor enabling a variety of different functions, including, withoutlimitation: determining when to capture an image, determining what imageto capture, and determining how to capture an image.

[0651] Conditions and the performance of one or more actions based on acondition are discussed variously herein. Accordingly, it will beunderstood that capturing an image based on a condition may include,without limitation, capturing an image when a condition occurs, inresponse to a condition, when a condition is true, etc. Also, it will bereadily understood in light of discussions herein with respect toconditions, that a capture condition may comprise a Boolean expressionand/or may be based on one or more factors. Various examples of factorsupon which a condition may be based are discussed herein.

[0652] In one example of how an image may be captured automaticallybased on a capture condition, whenever the shutter button on the camerais depressed halfway (i.e., a capture condition), a camera mayautomatically capture an image and store this image in RAM for furtherprocessing. In another example, a camera may include an orientationsensor that determines when the camera is being aimed horizontally andhas not moved in the last two seconds. Based on this determination, thecamera may capture an image, since a user of the camera may be composinga shot and the captured image may be useful in determining a question toask the user about the shot. According to another example, a camera mayinclude a microphone. If this microphone senses an increase in the noiselevel, then this may be a sign that an event is occurring. Based on theincrease in noise level, the camera may capture an image, which may beuseful in determining the situation and asking the user a question.

[0653] Note that automatically capturing one or more images based on acapture condition may be particularly helpful for the camera indetermining one or more questions to ask a user. For example, whenever auser raises the camera to a horizontal position and holds it steady, thecamera may capture an image. This image may then be used to determine anappropriate question to ask the user (e.g., a question relating to theimage that the user is about to capture). Various exemplary ways ofdetermining a question based on an image that has been captured arediscussed herein, and may be applied in accordance with some embodimentswith respect to images captured automatically.

[0654] An image that is captured based on a capture condition may bestored in memory temporarily or permanently. For example, a camera mayautomatically delete an image that is captured automatically after thecamera has determined and output a question based on this image. Forinstance, the camera may automatically capture one or more images whilea user is composing a shot. These images may be stored in memorytemporarily and used for determining one or more questions to ask theuser. These questions may be output to the user while he is composingthe shot. The user's responses to these questions may then be used toadjust one or more settings on the camera, as discussed herein. Finally,the user may finish composing the shot and capture an image (e.g., basedon the adjusted settings). Afterwards, the automatically captured imagesmay be deleted from memory to free up space.

[0655] Alternatively, an imaging device may capture imagessemi-continuously (e.g., like a video camera), and a capture conditionmay be used to select an image for further processing. For example, acamera may continuously capture images and store them temporarily inmemory (e.g., in a circular buffer of thirty images). Then, based on acapture condition (e.g., a user pressing the shutter button halfway),the camera may select one of the previously captured images anddetermine a question to ask the user based on this image.

[0656] It will be readily understood that an image that is capturedautomatically may be meta-tagged. For example, an image that is capturedautomatically may be meta-tagged to indicate that it can later bedeleted (e.g., if the camera starts to run out of memory).

[0657] Referring to FIG. 19, a flowchart illustrates a process 1900 thatis consistent with one or more embodiments of the present invention. Theprocess 1900 is a method for automatically capturing an image based on acapture condition. For illustrative purposes only, the process 1900 isdescribed as being performed by a camera 130. Of course, the process1900 may be performed by any type of imaging device 210.

[0658] In step 1905, the camera 130 automatically captures an imagebased on a capture condition. In step 1910, the camera 130 determines aquestion based on the image. In step 1915, the camera outputs thequestion based on an output condition. Various types of outputconditions are discussed herein. In step 1920, the camera 130 receives aresponse to the question, and in step 1925, the camera 130 adjusts asetting based on the response.

[0659] As described variously herein, a user may provide information byresponding to a question that is output by a camera. This informationprovided by the user, as well as other information (e.g., informationfrom sensors, information from analyzing images), may be used by thecamera to determine one or more actions to perform (e.g., adjustingsettings on the camera, guiding a user in operating the camera).

[0660] According to some embodiments of the invention, information(e.g., acquired by a camera) may expire. For example, a user may respondto a question by indicating that he is “at the beach.” This response maybe stored in the response database (e.g., such as the one shown in FIG.7) and an action may be performed based on the response (e.g., thecamera may be adjusted to “Sunny Beach” mode). However, at some pointthe information that the user is “at the beach” will no longer be valid.For example, the user may go to a restaurant to eat lunch, or go homeafter visiting the beach all day. In another example, information aboutthe weather outside being sunny may expire at the end of the day whenthe sun goes down. In response to information expiring, the camera mayperform an appropriate action such as adjusting a setting on the cameraor outputting an additional question to a user. In accordance with atleast one embodiment of the present invention, a server or othercomputing device may determine that information has expired. In someembodiments, one or more actions may be performed based on theexpiration of information.

[0661] Information may expire for a variety of different reasons. Theinformation may no longer be correct, for example. For instance,information that the user is at the zoo is no longer correct if the userhas left the zoo. In another example, information may no longer beapplicable. For instance, information about how to crop an image of agroup of people may no longer be applicable if a user is not capturingan image of a group of people. In some cases, more recent informationmay be available. For example, two hours ago the weather outside mayhave been cloudy and raining, but now the weather is sunny. In someinstances, information may be time-sensitive and/or may be updatedperiodically, according to a schedule, from time to time, or at anytime.

[0662] According to at least one embodiment, information should beverified before being used again. For example, a user may indicate thathe is interested in capturing an image with a slow shutter speed andmaximum depth of field. However, these settings may or may not beappropriate for a new scene that the user is capturing. Thus, if it isdetermined that a new scene is to be captured, for example, it may beappropriate to verify whether the user is still interested in using thesame settings (i.e., determine whether that information has expired, isstill valid, and/or is still applicable).

[0663] In order to account for the possibility that information providedby a user has a limited lifespan, a computing device may determine wheninformation provided by a user expires and/or perform an action based onthe information's expiration. For example, the camera may ask the useranother question and/or may adjust a setting based on the expiration ofthe information.

[0664] Different pieces of information may expire at different times(e.g., independently or each other). For example, information about thesubject(s) of one or more images that a user is currently capturing(e.g., the identities of people in a group photo) may expire when theuser ceases to aim the camera at the group of people. In anotherexample, information about the location of the camera may expire whenthe camera is moved more than one hundred feet from its originallocation. Information about the current weather conditions may expireafter two hours, for example. In some embodiments, information about auser of the camera may expire when the camera is turned off.

[0665] Alternatively, or in addition, different pieces of informationmay expire at the same time. For example, all information aboutcapturing images of Alice may expire if a user is now capturing an imageof Bob. In another example, all information about a scene that a userwas capturing may expire if the user turns the camera off for more thanthirty minutes. In another example, all information about a user of thecamera may expire if a user presses the “Reset User Information” buttonon the camera.

[0666] A computing device may determine when one or more pieces ofinformation expire based on a condition. This condition may also bereferred to as an expiration condition to differentiate it from othertypes of conditions described elsewhere in this disclosure. Conditionsare discussed in further detail variously herein. One skilled in the artwill understand in light of the present disclosure that some conditionsfor expiring information may be similar to conditions for determining aquestion. For example, it will be readily understood that a conditionmay be a Boolean expression and/or may be based on one or more factors.Any of the factors described herein (e.g., images, indications by auser, movement of the camera, time-related factors, state of the camera,information from sensors, characteristics of a user, information from adatabase) may also be useful in determining when information expires.Some additional examples of factors are provided below.

[0667] According to one example of determining that information hasexpired based on a condition, if a user turns the camera off (i.e., acondition), then any information about a scene that the user wascapturing may be deemed to be expired. The next time the user turns thecamera on, for example, the camera may ignore the expired informationor, alternatively, ask a user a question to verify that the expiredinformation is still relevant. In another example, if more than twohours have passed since a user provided a response to a question (i.e.,a condition), then the camera may determine that the response hasexpired and perform an action (e.g., ask the question again). In anotherexample, if a user has moved more than one thousand feet from hisoriginal location (i.e., a condition), then the camera may determinethat information relating to his original location is no longerapplicable

[0668] Information may expire (or not expire) based on one or moreindications by a user. For example, a user may respond to a question byindicating that information about a scene is or is not expired. Forinstance, the camera may ask a user, “Are we still at the beach?” Insome exemplary embodiments, information that affects a setting on thecamera may expire based on a user adjusting the setting on the camera.For example, information about the lighting in a room may cause thecamera to adjust its white balance setting. If the user later adjusts(e.g., using a control) the white balance setting on the camera to“Sunny,” then this may indicate that the user is no longer indoors andthat the information about the lighting of the room is no longerrelevant.

[0669] In another example, a user may press a “Reset Scene Information”button on the camera to indicate that information relating to a pastscene is expired (e.g., meaning that the camera should disregard theinformation relating to the past scene). In still another example, auser may use the voice command “Same Scene” to indicate that informationabout a previous scene has not expired (e.g., even if the camera wouldotherwise have considered the information to be expired).

[0670] According to some embodiments, information related to an imagemay expire when or after an image is captured (e.g., the informationabout the scene may only be applicable to that image). In at least oneembodiment, information about a current scene that the user is capturingmay expire when the camera is turned off.

[0671] As mentioned above, some information may expire (or not expire)based on one or more images. For example, a computing device may use aface recognition program to analyze an image and to determine that animage is an image of Bob. Based on this, the camera may determine, forexample, that information about capturing images of Alice is expired. Inanother example, a user may have indicated that he is at the beach.However, thirty minutes later, the camera may determine that one or moreimages captured recently do not match any of the “beach templates”stored by the camera. Based on this, the camera may determine that theinformation that the user is on the beach may have expired.

[0672] Some types of information may expire (or not) based on the stateof the camera. For example, a camera may keep track of how many imageshave been captured since a piece of information was received. After athreshold number of images (e.g., ten images) have been captured, theinformation may expire. In another example, information may expirewhenever the camera is turned off. Note that the camera may be turnedoff based on an indication by a user (e.g., the user presses the powerbutton on the camera) and/or based on other conditions (e.g., the cameramay automatically turn itself off after five minutes of inactivity).

[0673] According to some embodiments, information may expire when thecamera's batteries are replaced, when the camera is plugged into a walloutlet to recharge, or when images are downloaded from the camera (e.g.,for storage on a personal computer).

[0674] Information may expire based on a user. For example, a camera maystore information about its current user (e.g., the user's identity, theuser's preferences and habits when capturing images, a list of imagesthat have already been captured by the user). If the camera is latergiven to a new user, information about the previous user may expire,since it is not applicable to the new user. For example, Alice and Bobmay share a camera. When Alice is capturing images using the camera, thecamera may adjust one or more settings based on Alice's userpreferences. If Alice then hands the camera to Bob, the informationabout Alice's user preferences may expire and be replaced withinformation about Bob's user preferences.

[0675] According to some embodiments of the present invention,information may expire or not expire based on one or more of a varietyof time-related factors. Some examples of time-related factors aredescribed herein without limitation. Information may expire, forexample, after a duration of time. For instance, information that a userprovides about a scene may expire after thirty minutes unless it isreaffirmed by the user (e.g., by indicating the information is stillvalid, by providing additional information about the scene). In anotherexample, information may expire at a specific time. For instance,information about whether the sky is sunny, partially cloudy, orovercast may expire at 6:34 p.m. (e.g., when the sun goes down).According to at least one embodiment, information may expire based on acondition existing for a duration of time. For example, informationabout the lighting in a room may expire if the camera's light meterreads bright (outdoors) light for more than thirty seconds.

[0676] Examples of information expiring or not expiring based oninformation from sensors include, without limitation: determining alocation, determining an orientation of a camera, and determininginformation about light. For example, a camera may use GPS device todetermine how far it has been moved from a location where a userprovided a response to a question. If the camera has been moved morethan a threshold distance from the location where the user provided theresponse, then the information provided by the response may bedetermined to be expired. In another example, a camera may use anorientation sensor to determine when a user is aiming the camera at ascene. If the user stops aiming the camera at the scene for longer thanten seconds, for instance, then the camera may determine that the useris no longer capturing images of the scene and determine thatinformation about the scene is expired. According to some embodiments,an imaging device may use a light sensor to determine the color of lightthat is shining on the camera. If the color of light shining on thecamera is 5200K (daylight), then the camera may determine thatinformation indicating the camera is under fluorescent light bulbs(4000K) is expired.

[0677] According to one or more embodiments of the present invention,information expiring or not expiring may be based on one or morecharacteristics of a user include. For example, a user may be in thehabit of turning his camera off anytime he does not anticipate capturingan image in the next minute. Based on this, the camera may adjust itsconditions for expiring information so that information about a scenedoes not expire unless the user turns the camera off for an extendedperiod of time (e.g., fifteen minutes). In another example, a user mayprefer that he not be asked the same question twice in close succession(e.g., within ten minutes). Based on this, the camera may prolong thetime that it takes for a piece of information to expire (e.g., to morethan ten minutes). In this way, the camera may effectively postponeasking the user a second question relating to the information inaccordance with the user's preference.

[0678] In some embodiments of the present invention, information mayexpire or not expire based on information from one or more databases. Inone example, a first piece of information may be based on the validityof one or more second pieces of information. If the second pieces ofinformation expire, then the first piece of information may also expire.For example, a camera may store two pieces of information: a) the camerais currently indoors, and b) the room has fluorescent lighting. If thefirst piece of information (i.e., the camera is indoors) expires becausethe user moves outdoors, then this may cause the second piece ofinformation (i.e., that the room has fluorescent lighting) to expirealso, since it is unlikely that there is also fluorescent lightingoutdoors. However, it will be recognized that the inverse may not betrue. That is, the expiration of the information that the room hasfluorescent lighting may not mean that the information that the camerais indoors has also expired. For example, a user of the camera may havejust moved to another room.

[0679] In another example, an imaging device (e.g., a PDA with anintegrated camera) may determine that information has expired based on achange to an image template stored in a database. For example, theimaging device may determine a revised image template for Alice (e.g., arevised “Alice template”) because Alice has put on a blue sweater overher green tank top. Based on this, the imaging device may determine thatinformation about the subject of the image (e.g., a girl in a green tanktop) is expired.

[0680] In yet another example, a camera may store information about whenthe sun comes up or goes down. When the sun goes down, the camera maythen expire any information about the current weather conditions (e.g.,sunny, cloudy, etc.). In another example, a camera may receive weatherreports via a radio link (and optionally may store an indication of thereceived information). For instance, the camera may receive an updatedweather report indicating that the weather outside is no longer sunnyand is now raining. Based on this updated report, the camera maydetermine that information indicating that light is shining on subjectssitting outside should be expired.

[0681] When a piece of information expires (e.g., as determined using anexpiration condition), an imaging device and/or computing device mayperform one or more of a variety of different actions, including,without limitation: ceasing to perform an action (e.g., an action thatwas performed based on the information), outputting a question,adjusting a setting, meta-tagging an image, guiding a user in operatingthe camera, storing information, and any combination thereof.

[0682] If a piece of information expires, then this may mean that anaction that a camera was performing based on the information is nolonger appropriate. Therefore, in accordance with some embodiments, acamera may cease to perform the action (and may optionally perform asecond action instead). Examples of ceasing to perform an action basedon expiring information include, without limitation: readjusting asetting, ceasing to meta-tag images, and ceasing to guide a user inoperating a camera.

[0683] As discussed variously herein, an imaging device such as a cameramay adjust a setting (e.g., the mode of the camera) based on a user'sresponse to a question. According to various embodiments of the presentinvention when the user's response to the question expires (e.g., basedon an expiration condition), the camera may adjust the setting again(e.g., returning the setting to its original value or adjusting to a newvalue). In a more detailed example, the camera may adjust itself to “SkiSlope” mode based on a user's indication that he is on a ski slope. Whenthe ski slope closes (e.g., 4:00 p.m.) the camera may determine that theuser's indication that he is on a ski slope has expired. Accordingly,the camera may readjust itself to cancel “Ski Slope” mode and put thecamera in “Default” mode instead.

[0684] According to some embodiments, a camera may cease to meta-tagimages when information expires. In some embodiments, a camera may ceaseto meta-tag images with information that has expired. For example, thecamera may meta-tag one or more images based on a user's response to aquestion, as described herein. If the information upon which themeta-data is based expires, then the camera may cease to associate thatmeta-data with images. For example, the camera may receive informationfrom a user that the user is capturing images of a group of people:Alice, Bob, Carly, and Dave. This information may be used to meta-tagthe captured images. However, when the user puts his camera down fortwenty seconds, the information about the group of people may expire(e.g., based on an expiration condition). Accordingly, future imagescaptured by the camera will not be tagged as images of Alice, Bob,Carly, and Dave.

[0685] Expiration of information may cause an imaging device to ceaseguiding a user in operating the camera. For example, a camera may guidea user in operating the camera based on the user's response to aquestion, as described herein. For instance, the camera may guide a userin adjusting the shutter speed of the camera based on a user'sindication that he is capturing images of wildlife. If an imagerecognition program running on the camera (or on a server incommunication with the camera, as discussed herein) later determinesthat the user is about to capture an image of a person, then the cameramay cease to provide instructions to the user about how to captureimages of wildlife (e.g., because the wildlife-related information haseffectively expired).

[0686] According to at least one embodiment of the present invention, acamera may output a question to a user based on information expiring.For example, in response to a piece of information expiring, the cameramay ask a user a question relating to the information that expired. Theuser's response to this question may be helpful in replacing theinformation that expired and/or in guiding the camera in performingadditional actions to assist the user. The following, withoutlimitation, are some exemplary scenarios related to outputting aquestion to a user based on information expiring:

[0687] (i) A determination condition may be based on informationexpiring. For example, the camera may determine to output the question,“Are you indoors or outdoors?” based on the determination condition:expired (indoors_or_outdoors_response).

[0688] (ii) Information about a scene may expire when a user stopsaiming a camera at the scene. The camera may then remain idle, forexample, until the user begins to aim the camera at a new scene, atwhich point the camera may determine that a) the information about theold scene has expired and b) the camera does not have any informationabout the new scene. Based on this, the camera may determine and outputan appropriate question to the user.

[0689] (iii) Information about the lighting of a scene (e.g., daylight,tungsten light bulb, fluorescent light bulb) may expire whenever a lightsensor on the camera determines that the light color or intensity of ascene has changed dramatically. Accordingly, the camera may output thequestion, “What type of lighting does this scene have?” whenever thelight sensor causes information to expire.

[0690] (iv) Information about whether a scene includes running water mayexpire (e.g., based on image processing). Based on this expiration, thecamera may output a question to the user, “Does this image includewater?” Other types of situations in which it may be desirable to outputa question based on information expiring may be readily apparent tothose skilled in the art in light of the present disclosure.

[0691] As discussed herein, according to some embodiments of the presentinvention, a camera may adjust one or more settings based on informationexpiring. Some examples, without limitation, are provided below, andvarious other exemplary ways in which a setting may be adjusted arediscussed herein.

[0692] In one example, information about the current lighting conditionsmay expire. Based on this, the camera may adjust its settings toauto-exposure and auto-white balance. In another example, informationabout who is the current user of the camera may expire. Based on this,the camera may revert to its default user preferences. In anotherexample, information about what object in the field of view (e.g., theforeground, the background) a user would like to focus on may expire.Based on this expiration, the camera may adjust its focus settings(e.g., to five-region, center-weighted auto-focus).

[0693] In yet another example, information about a user being on a boatmay expire. Based on this, the camera may adjust its digitalstabilization setting to “regular.” Information about the weatheroutside being sunny may expire because the current time of day is aftersunset, for example. Based on this, the camera may assume that it isindoors or nighttime and turn its flash on.

[0694] Various exemplary ways in which a camera, for example, maymeta-tag an image are discussed herein. According to at least oneembodiment of the present invention, a device such as a camera or servermay meta-tag one or more images based on information expiring. Forexample, information about the subject of an image may expire. Based onthis, a camera may meta-tag an image as “Subject: Unknown.” According tosome embodiments, a user can later review the image and providemeta-data about the subject of the image. In another example,information about a location of the camera may expire. After determiningthe location information has expired, the camera may omit locationinformation when meta-tagging an image (or may not meta-tag an image atall).

[0695] Various exemplary ways in which a camera, for example, may guidea user in operating the camera are discussed herein. In accordance withone or more embodiments of the present invention, a camera may guide auser in operating the camera based on information expiring. Forinstance, information about whether the subject of an image is in theshade or the sun may expire. Based on this, the camera output a messageto guide a user: “If your subject is in the shade, you may want toadjust the white balance setting on the camera to 7000K or use a flash.If your subject is in the sun, you may want to adjust the white balancesetting on the camera to 5200K and make sure that your subject is facingtowards the sun.” In another example, information about the subject ofone or more images may expire. In response, the camera may output amessage to a user: “You can meta-tag your images with information abouttheir subjects by pressing the ‘Meta-Tag’ button and saying the name ofthe subject.”

[0696] The camera may store information based on information expiring.That is, according to some embodiments of the present invention, thecamera may store a first piece of information based on the expiration ofa second piece of information. For example, information about the camerabeing underwater may expire based on a conductivity sensor on the bodyof the camera. Based on information received via the conductivitysensor, the camera may store an indication that it is not underwater.

[0697] If an expiration condition occurs, then related information maybe determined to be expired (and optionally the camera may perform oneor more actions), as described herein. As also discussed herein,information may expire based on other information expiring. For example,if a camera is turned off for more than sixty minutes, then theinformation that the camera is outdoors may expire. Based on this, theinformation that the weather is sunny and that the user is on a beachmay also expire. A single condition might cause multiple pieces ofinformation to expire. For example, the information that an imageincludes a body of water and the piece of information that the userprefers to have no reflections may both expire if an image does notmatch a water template or if a user presses the “Reset ImagePreferences” button on the camera.

[0698] Different actions may be performed based on what causesinformation to expire. For example, if information indicating that thesubject of an image is Alice expires because a user is no longer aimingthe camera or because thirty seconds have elapsed, then the camera maystop meta-tagging images as “Subject: Alice.” However, if thatinformation expires because an image recognition program (e.g., executedby the camera, executed by a server in communication with the camera)does not recognize the subject of an image as being Alice, then thecamera may stop meta-tagging the image and ask: “Who are youphotographing?” Thus, an action (e.g., determining and/or outputting aquestion) may be performed based on information expiring and/or based onthe particular circumstance(s) that caused the information to expire.

[0699] As discussed herein, a camera or other device (e.g., a server)may store an expiring information database that stores information aboutconditions that may cause information to expire. One example of anexpiring information database is shown in FIG. 14. Note that the exampleof the expiring information database shown in FIG. 14 may store at leastone expiration condition for each piece of information that is stored bythe camera.

[0700] Referring to FIG. 20, a flowchart illustrates a process 2000 thatis consistent with one or more embodiments of the present invention. Theprocess 2000 is a method for performing an action based on informationexpiring. For illustrative purposes only, the process 2000 is describedas being performed by a camera 130. Of course, the process 2000 may beperformed by any type of imaging device 210 and/or computing device 220.

[0701] In step 2005, the camera 130 receives information related to useof the camera 130. For example, the camera determines or otherwisereceives (e.g., from a sensor, from a server 110, from a user) any ofthe various types of information described herein. For example, thecamera 130 receives an indication that it is raining, a user preference,a signal that the memory is low, etc. In step 2010, the camera 130determines an expiration condition for the information. For example, thecamera 130 determines that the piece of information should expire afterthirty minutes.

[0702] In step 2015, the camera 130 stores an indication of theinformation and an indication of the expiration condition (e.g., in anexpiration condition database). In step 2020, the camera 130 determinesif the information has expired (e.g., based on the expirationcondition). If the information has not expired, the camera 130 performsa first action in step 2025. If the information has expired, the camera130 performs a second action based on the information expiring (e.g., acorresponding action indicated in an expiration condition database).

[0703] In accordance with various embodiments of the present invention,a camera may output a question to a party other than a user of thecamera. For example, a camera may output a question to a human subject(i.e., a person) of one or more images captured (or to be captured) bythe camera.

[0704] Questions may be output to subjects of images for a variety ofdifferent purposes. For example, a question may be output to verify thatan image was captured properly. For instance, a camera may be used tocapture an image of a group of people (e.g., Alice, Bob, and Carly).Immediately after capturing the image of the group of people, the cameramay output a question to the group: “Did anybody blink?” If one or morepeople in the group answer “Yes” to the question, then the camera maycapture one or more additional images of the group, in the hope ofcapturing at least one image of the group in which nobody is blinking.

[0705] According to another example, a preference of a subject may bedetermined. For example, the camera may output a question to a subjectof an image: “Do you want this to be a close-up shot from the waist up,or a full-body shot that includes your feet?” The camera may adjust oneor more settings (e.g., a zoom setting) based on the subject's responseto this question. Performing one or more actions based on a subject'spreferences (e.g., adjusting a setting, meta-tagging an image) may beparticularly appropriate for subjects who have strong feelings about howimages of them should be captured.

[0706] In some embodiments, an imaging device may assist a subject inposing. For example, a camera may output a question to a subject of animage: “It looks like there's a piece of paper sticking to your shoe. Doyou want to remove this before the photo is taken?” Based on the user'sresponse, the camera may then pause to allow the subject to remove thepiece of paper from his foot.

[0707] It will be readily understood that a question may be output to asubject using an output device. Many types of output devices arediscussed herein, and others will be readily apparent to those skilledin the art in light of the present disclosure. Some examples include,without limitation, an audio speaker, a video monitor, and a wirelesshandheld device.

[0708] For example, a camera may include an audio speaker to play anaudio recording of a question loud enough for a subject of an image tohear the question. In another example, the camera may use a HyperSonicSound® directional sound system by American Technology Corporation tooutput a question to a subject that may not be heard by other subjectsof the image, the user, or bystanders. In another example, a camera mayinclude an LCD display or other type of video monitor that faces (or maybe configurable to face) a subject of the camera (e.g., away from a userof the camera). The camera may use this LCD, for instance, to display atext question to the subject.

[0709] In yet another example of an output device, a subject of a cameramay carry a wireless handheld device (e.g., a remote control, a cellphone, a PDA) that communicates with the camera (e.g., using a infraredor radio communications link). The camera may output a question to thesubject by transmitting the question to the wireless handheld device.The wireless handheld device may then display the question to thesubject (e.g., using an audio speaker, LCD display screen, or otheroutput means). Other embodiments operable for outputting a question to asubject of an image may be similar to those described herein foroutputting a question to a user of the camera.

[0710] According to some embodiments, a subject may respond to aquestion using an input device, such as, without limitation, amicrophone, an image sensor, or a wireless handheld device. For example,a subject of an image may respond to a question by speaking the answeraloud. The camera may use a microphone and voice recognition software torecord and determine the user's response to the question. In anotherexample, a subject of an image may respond to a question by making anappropriate hand signal to the camera (e.g., thumbs-up for “Yes,”thumbs-down for “No”). The camera may use an image sensor to capture oneor more images of the subject making the hand signal and then processthe images using an image recognition program to determine the subject'sresponse to the question.

[0711] In another example, a subject of an image may respond to aquestion using a wireless handheld device (e.g., a remote control, acell phone, a PDA) operable to communicate with a camera. For example, asubject of an image may press a button on his PDA or speak into amicrophone on his cell phone to provide a response to a question. ThePDA or cell phone may then transmit an indication of the response to thecamera (e.g., via a communication network).

[0712] A variety of exemplary actions that may be performed based on auser's response to a question are discussed herein (e.g., adjusting asetting, meta-tagging an image, outputting a second question). Otheractions are also possible. Additional actions that may be performed bythe camera based on a user's response to a question includeautomatically capturing an image and managing images stored in memory.

[0713] As discussed herein, an imaging device may be configured tocapture an image automatically. According to some embodiments, a cameramay automatically capture one or more images based on a user's responseto a question. For example, if the camera asks a user, “Are we at afootball game?” and the user responds, “Yes,” then the camera mayautomatically capture one or more images whenever the players on thefootball field are moving. Various exemplary processes for automaticallycapturing an image (e.g., based on a condition) are discussed herein.

[0714] Automatically capturing one or more images based on a user'sresponse to a question may comprise one or more of, without limitation:determining whether the camera should automatically capture one or moreimages based on a user's response to a question; determining what imagesthe camera should automatically capture based on a user's response to aquestion; and determining how the camera should treat the one or moreautomatically-captured images (e.g., compressing them) based on a user'sresponse to a question.

[0715] One way for a user's response to a question to affect a processof automatically capturing images is for the camera to adjust a settingrelating to automatically capturing images. One example of a setting onthe camera that may relate to automatically capturing images is acondition for automatically capturing images. For example, the cameramay automatically capture an image when a condition is true. A user'sresponse to a question may be a factor that affects a condition. Inanother example, a threshold value for determining whether to store animage may relate to the automatic capturing of images. For example, thecamera may capture an image and then determine a rating for the imagebased on the quality of the image. If the rating of the image is higherthan a threshold value, then the camera may store theautomatically-captured image. If the rating is worse than the thresholdvalue, then the automatically-captured image may be compressed ordeleted. In another example, a parameter that affects how much anautomatically-captured image is compressed may be adjusted. For example,the camera may automatically compress an automatically-captured imagebased on a compression setting. For instance, images with greatercompression settings may be compressed more and images will lessercompression settings may be compressed less.

[0716] According to one or more embodiments, a camera may manage one ormore images stored in memory based on a user's response to a question.Managing images stored in memory may include, without limitation, one ormore of:

[0717] (i) Uploading an image using a network. For example, a camera mayinclude a radio modem, cell phone, or other wireless network connectionthat allows the camera to transmit images to a second electronic device(e.g., a computer server, a laptop computer, a cell phone). Uploading animage using a network may be particularly useful in sharing images withother people (e.g., friends of a user) or freeing up memory on thecamera (e.g., since an image may not be stored on the second electronicdevice).

[0718] (ii) Modifying one or more images. For example, a camera may useimage editing software to modify one or more images that are stored inmemory. Examples of modifications that may be made to images includecropping, removing red-eye, color balancing, removing shadows, removingobjects from the foreground or background, adding or removing meta-data,and combining images into a panorama.

[0719] (iii) Compressing or deleting one or more images. For example, asdiscussed herein, a camera may automatically compress or delete one ormore images stored in memory in order to make room for additional imagesthat may be captured by the camera.

[0720] The following, without limitation, are some exemplary scenariosrelated to managing images stored in memory based on a user's response.Each scenario includes a question (e.g., asked by a camera), a responsefrom a user, and an action:

[0721] (i) Question: “How many more images are you planning oncapturing?”

[0722] Response from a user: “20-30”

[0723] Action: Use a wireless network connection (e.g., 3G cellularnetwork) to upload images from the camera to a central computer. Thendelete the images that have been uploaded, thereby freeing up space inthe camera's memory for the 20-30 additional images that the user planson capturing.

[0724] (ii) Question: “Are you capturing an image of a group of people?”

[0725] Response from a user: “Yes”

[0726] Action: Process the captured image to remove shadows that fallacross people's faces and red-eye that may have resulted from using aflash.

[0727] (iii) Question: “Which images are more important to you: a)images of Alice, or b) images of Bob?”

[0728] Response from user: “a) images of Alice”

[0729] Action: Sort the images in memory into images of Alice and imagesof Bob. Re-compress all the images of Alice using a JPEG compressionsetting of 80%, thereby reducing the file sizes of these images andfreeing up memory space in the camera. Do not perform any additionalcompression on the images of Bob that are stored in memory.

[0730] One or more embodiments of the present invention may enable acamera or other imaging device to determine more easily a scene to becaptured in an image and a user's intentions for capturing an image.Such determinations will enable some types of users to more easilyadjust the settings on their cameras, making capturing images a simplerand more enjoyable process. In addition, some embodiments of theinvention may allow a user to capture better images, even if he does nothave a detailed knowledge of photography.

[0731] Although the methods and apparatus of the present invention havebeen described herein in terms of particular embodiments, those skilledin the art will recognize that various embodiments of the presentinvention may be practiced with modification and alteration withoutdeparting from the teachings disclosed herein.

What is claimed is:
 1. A camera comprising: means for recording animage; means for transmitting the image to a remote computer fordetermining at least one question based on the image; means forreceiving from the remote computer an indication of at least onequestion; and means for outputting to a user a representation of the atleast one question.
 2. A method comprising: recording an image;transmitting the image to a remote computer for determining at least onequestion based on the image; receiving from the remote computer anindication of at least one question; and outputting to a user arepresentation of the at least one question.
 3. A camera comprising:means for capturing an image; means for transmitting the image to aremote computer for determining at least one meta-tag based on the imageand a database of images, each respective image of the database ofimages having at least one associated meta-tag; means for receiving anindication of a meta-tag from the remote computer; and means forreceiving an instruction from a user to associate the meta-tag with theimage.
 4. A camera comprising: means for recording an image; means fortransmitting wirelessly at least a portion of the image to a remotecomputer; means for receiving from the remote computer an indication ofa question to provide to a user, the question including an indication ofat least one meta-tag determined by the remote computer; means fortransmitting the question to the user; means for receiving a response tothe question from the user; and means for associating at least one ofthe at least one meta-tag based on the response.
 5. A camera comprising:means for receiving a meta-tag from a remote computer; and means forassociating the meta-tag with at least one image.
 6. A methodcomprising: receiving, at a camera, a meta-tag from a remote computer;and associating, by the camera, the meta-tag with at least one image. 7.A camera comprising: means for receiving a first meta-tag and a secondmeta-tag from a remote computer; and means for receiving from a user arequest to associate at least one of the first meta-tag and the secondmeta-tag with at least one image.
 8. A camera comprising: means fortransmitting to a user an indication of a first meta-tag received from aremote computer and an indication of a second meta-tag received from theremote computer; means for receiving an indication of a selection by theuser of at least one of the first meta-tag and the second meta-tag; andmeans for modifying meta-data of at least one image based on theselection.
 9. A device comprising: means for recording a first digitalimage; means for transmitting the first digital image to a remotecomputer for comparison with at least one second digital image; meansfor receiving from the remote computer at least one image category basedon the comparison; and means for associating the at least one imagecategory with the first digital image.
 10. A method comprising:outputting a question to a user; receiving a response to the questionfrom the user; storing an indication of the response; determining anexpiration condition; associating the expiration condition with theresponse; determining if the expiration condition has occurred; andadjusting at least one camera setting if the expiration condition hasoccurred.